c语言表达式中有逗号需要加什么,C语言中的逗号运算符的一道题,什么是逗号表达式?C语言中...

导航:网站首页 >

C语言中的逗号运算符的一道题,什么是逗号表达式?C语言中

C语言中的逗号运算符的一道题-,什么是逗号表达式?C语言中

匿名网友:

逗号表达式的一般形式是:表达式1,表达式2,表达式3……表达式n 逗号表达式的求解过程是:先计算表达式1的值,再计算表达式2的值,……一直计算到表达式n的值。

最后整个逗号表达式的值是表达式n的值。

所以先计算c=(a-=a-5)(a-=a-5)等于a=a-(a-5)得5所以c的值为5然后计算a=b,b+3中的a=b所以a=0然后计算b+3对结果不影响b没被赋值所以b=0所以结果是0,0,5我用vc试了下,就这结果

匿名网友:

sum=pad=5; //两个都是5.pad=sum++,//sun=5,所以pad=5;在sum后面++表示这句执行完后sum再加一.这句等同于两句:pad=sum;sum++;pad++,//pad+1,所以pad=6;++pad; //pad再加一,所以pad=7;printf("%d\n",pad); //这里pad应该等于7.sum等于6,得出的结论是答案错了....

匿名网友:

a=8,b=16,x=24因为整个函数中,a只有一次赋值操作,所以a的值为8不变。

b先有一次赋值操作,b=15,然后b++得到值16x的值,因为后面的一串逗号表达式是用括号括起来的,所以要先计算逗号表达式的值,再将这个值赋给x,逗号表达式的规则是依次计算每个表达式的值,然后取最后一个表达式的值,也就是a+b的值,此时a=8,b=15,b++依次执行过,所以a=8,b=16,a+b就是24了。

所以x的值是24

匿名网友:

逗号运算符 , 是C语言运算符中优先级最低的一种运算符,结合顺序是从左至右,用来顺序求值最后一个逗号后面表达式的值作为整个表达式的值。

下面举例说明逗号运算符的使用方法:int a=3, b=5, c;c = a>b, a+b; // 运行后c值为0,因为逗号运算符的优先级低于赋值运算符,所以先将a>b的结果为0赋值给c,之后运算a+b结果不保存,所以c=0c = (a>b, a+b); // 运行后c值为8,因为括号的优先级高于赋值运算符,所以先算括号内的表达式,此时计算结果为最后一个表达式的值,即a+b的值,所以c=8

匿名网友:

这种古怪的东西,不同的编译器会得不同的结果,逗号表达式,结果为最后一个表达式的值:int a=6;a=(3*5,a*4);printf("%d",a);得 24.如果int a;a=(3*5,a*4);printf("%d",a);呢?VC++编译器认为:由于a*4时a没有值,所以得乱七八糟的结果。

double x;x = 4444.333*4444.333;或x = 4444.333l * 4444.333l;用 尾巴字母 "l" 表示它是double.书本上错误难免,还需自己实践。

匿名网友:

问题一 char temp = {"Hello"}; 和char temp = "Hello";这两个字符数组是一样的。

问题二char temp = 'a' , 'b' ; //编译错误char temp; temp = 'a','b'; //正确,temp得到'a'。

'b'未起作用。

char temp; temp = ('a', 'b'); //正确,temp得到'b',这才是真正的逗号表达式又如:int a = 1, b = 2, c = 3;c = a++, b++; //b++未执行printf("%d %d %d\n", a, b, c); //输出“2 3 1”问题三 char temp; temp = 'a','b';同上。

问题四 char temp = {"Hello", "World"}; //编译错误temp是一个字符数组,也可以表示存储一个字符串,但{"Hello", "World"}这个数组中的每个元素都是一个字符串,说明它已经是一个二维数组了,不能使用一维数组temp接收,除非这样:char *temp = {"Hello", "World"};

匿名网友:

逗号运算符C语言中逗号“,”也是一种运算符,称为逗号运算符。

其功能是把两个表达式连接起来组成一个表达式, 称为逗号表达式。

其一般形式为: 表达式1,表达式2 其求值过程是分别求两个表达式的值,并以表达式2的值作为整个逗号表达式的值。

void main(){int a=2,b=4,c=6,x,y;y=(x=a+b),(b+c);printf("y=%d,x=%d",y,x);}ax本例中,y等于整个逗号表达式的值,也就是表达式2的值,x是第一个表达式的值。

对于逗号表达式还要说明几点:1.逗号表达式一般形式中的表达式1和表达式2 也可以又是逗号表达式。

例如: 表达式1,表达式2,表达式3 形成了嵌套情形。

因此可以把逗号表达式扩展为以下形式: 表达式1,表达式2,…表达式n 整个逗号表达式的值等于表达式n的值。

2.程序中使用逗号表达式,通常是要分别求逗号表达式内各表达式的值,并不一定要求整个逗号表达式的值。

3.并不是在所有出现逗号的地方都组成逗号表达式,如在变量说明中,函数参数表中逗号只是用作各变量之间的间隔符。

以上是摘抄来的 我本人觉得自己最常使用逗号运算符是在for循环里for (i = 0, j = 0; i printf("i = %d, j = %d",i,j); }

匿名网友:

C 语言中,逗号,也可以是运算符,称为逗号运算符Comma Operator。

逗号运算符可以把两个以上包含两个的表达式连接成一个表达式,称为逗号表达式。

其一般形式为:子表达式1, 子表达式2, ..., 子表达式n例如:a + b, c = b, c++逗号运算符的优先级是所有运算符中级别最低的,通常配合 for 循环使用。

逗号表达式最右边的子表达式的值即为逗号表达式的值。

上例中,c++ 的值c 自增之前的值即为该表达式的值。

逗号运算符保证左边的子表达式运算结束后才进行右边的子表达式的运算。

也就是说,逗号运算符是一个序列点,其左边所有副作用都结束后,才对其右边的子表达式进行运算。

因此,上例中,c 得到 b 的值后,才进行自增运算。

问题推荐

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值