本文目录一览:
- 1、c语言编程
- 2、C语言一定要用XYZ来看PRINTF
- 3、C语言x,y,z比大小的问题
- 4、c语言 subl(char a,char b) {char c;c=a;a=b;b=c;
- 5、麻烦讲解一下C语言中substr函数的用法
- 6、C语言问题
c语言编程
这是一个关于全局变量和局部变量以及函数参数的问题。
从两此sub函数的调用来解释:
sub(x3,x4)
此时,调用的sub()函数,x3和x4是main()函数的局部变量。分别是10和20。
所以,就相当于sub(10,20)。
在sub函数内部,则x=10, y=20。
在函数内,x1=x(10), x=y(20),y=x1(10)。
其实,x和y都因为是函数的参数,函数结束后也就没有作用了。
第一次运行sub(x3,x4)的作用是,使全局变量x1编程了10。
第二次sub(x2,x1)
经过同上,因此,x1就变成x的值,也就是传入的x2的值,是40。
C语言一定要用XYZ来看PRINTF
23 x=y=1 z=x++-1, 先取x值,z=x-1=1-1=0
x自加为2
输出x z为 2 0
然后 z+=-x++ + (++y||++z)
这里 先取x值为2, 然后x自加为3. y和z先自加为2和1,再参与计算。于是表达式为
=-2+(2||1)
对于||操作,为逻辑操作,所有非0值按1处理,于是2||1=1
=-2+1
=-1
输出x z为3 -1
选A
24
x=-3+4*5-6=-3+20-6=11 输出11
x=3+4%5-6=3+4-6=1 输出1
x=-3*4%-6/5=-12%-6/5=0/5=0 输出0
x=(7+6)%5/2=13%5/2=3/2=1 输出1
选A
C语言x,y,z比大小的问题
x%y表示x除以y的余数。这里10%3得1。
x/y表示x整除以y的商。这里10/3得3。
最后(,)为逗号表达式,逗号表达式的值是表达式右边的值。这里得3。
c语言 subl(char a,char b) {char c;c=a;a=b;b=c;
因为 a,b在参与函数计算时,调换的不是内存中a,b 的值,而是另外申请了一块空间拷贝了a,b的值,进行计算,要改变实参,要指定a,b的地址sub(char a,charb)
麻烦讲解一下C语言中substr函数的用法
c语言标准库里面没这个函数,如果你在代码中看到了这个函数,那一定是自定义的,没办法讲解用法。
但是c++里面有这个方法(从根本上来说应该叫方法,不是函数),我给你讲讲c++里面这个函数的用法吧:
这个函数的原型是:basic_string
substr(
size_type
index,
size_type
num
=
npos
);
substr()返回本字符串的一个子串,从index开始,长num个字符。如果没有指定,将是默认值
string::npos。这样,substr()函数将简单的返回从index开始的剩余的字符串。
例如:
string
s(“What
we
have
here
is
a
failure
to
communicate”);
string
sub
=
s.substr(21);
cout
“The
original
string
is
“
s
endl;
cout
“The
substring
is
“
sub
endl;
显示:
The
original
string
is
What
we
have
here
is
a
failure
to
communicate
The
substring
is
a
failure
to
communicate
C语言问题
这是局部变量和全局变量的问题,sub2()中定义了自己的a[10],把全局变量a[10]屏蔽掉了,他们两个其实是不同的数组,因此在执行函数sub2()时并没有修改到全局变量a[10]的值,sub2()执行结束后,其内部变量a[10]就被释放掉了,因此在主函数中,有没有sub2()这句话是不影响结果的。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/250900.html