简单C语言题:若 t 为 double 类型.求表达式:t=1,t+5,t++的值!!

答案为1。但我不懂,请说明为什么呀 ~~~

逗号运算符是取的最后个表达式的值,作为整个表达式的值

表达式1,表达式2,表达式3------,表达式n

不管前面有多少个表达式,表达式n的值作为,整个表达式的值。

因为t++的表达式的值为1所以表达式的值为1,不是指t的值为1,计算下来t的值为2
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-07-02
因为c 是从右向左编译的 所以 先执行t++ 然后是t+5 最后是t=1 自然 答案为1了
第2个回答  2008-07-02
逗号运算符好像是取的最后个表达式的值.
逗号运算符:逗号作为运算符时是把2个运算分量连接起来,使之构成一个表达式.形式为:表达式1,表达式2
逗号表达式的形式可以扩展为:表达式1,表达式2,表达式3------,表达式n。各个表达式是从左到右顺序执行,它的值为表达式n的值。

简单C语言题:若 t 为 double 类型.求表达式:t=1,t+5,t++的值!!
因为t++的表达式的值为1所以表达式的值为1,不是指t的值为1,计算下来t的值为2

在C语言的例题→若t为double类型,表达式"t=1,t+5,t++"的值是?请解释...
逗号表达式的值为最后一个也就是最右边的那个式子的值,即1;t++;是先返回t的值,然后给t加1,所以最后的值为1.

若t为double 型,表达式t=1,t+5,t++的值是多少?怎么算啊?。。。
t++属于先用后加 如果单纯的printf这个表达式的值,输出的是1 然后再printf t的值,输出是t++后的值,是2 C语言实现如下:include <stdio.h> void main(){ double t,r;r=(t=1,t+5,++t);printf("%0.1f\\n",r);}

例题3:若t为double类型,表达式t=1,t+5,t++的值是 2.0 编出这个c语言程 ...
double t;printf("%lf",(t = 1, t + 5, t++));return 0;} 写得很好 但1楼的解释有点蛋疼了,搞得最后输出结果是t的值一样的 这里考的是逗号表达式的值和赋值表达式的值 好不好。。。逗号表达式的值是最左边的表达式的值 赋值表达式的结果是 =的左值 所以 只要 逗号那里 第一个是t=...

若t为double 型,表达式t=1,t+5,t++的值是多少?怎么算啊?。。。
若t为double 型,表达式t=1,t+5,t++的值是多少?就这个题的意思 追答 表达式的值是1,运算完后,t的值是2 本回答由提问者推荐 举报| 答案纠错 | 评论 35 14 其他回答 t等于最右边的值,这句可以写成t=t++;然后先运行t=t,现在t=1;最后t++,t自加1,最后结果是2 121446881 | 发布于2011-09-...

如果定义double t; 则表达式t=1, t+5, t++的值为 ___, t的值为___百...
表达式t=1, t+5, t++为逗号表达式。逗号表达式的形式如下:表达式1,表达式2,表达式3,... ,表达式n 逗号表达式的要领:(1) 逗号表达式的运算过程为:从左往右逐个计算表达式。(2) 逗号表达式作为一个整体,它的值为最后一个表达式(也即表达式n)的值。表达式t=1, t+5, t++做如下计算:先...

若定义double t,则表达式 t=1,t+5,++t的值为( )
B!!!此语句为','语句,返回最后子语句的值,其中t =1 使t=1,t + 5对t的值没有影响,t仍然=1,++t后,t=2,返回2.所以选b

2,若t为int类型,表达式t=1,t+5,t++的值是
值为1,逗号表达式是从左往右依次计算,最后取最右边的值。先计算t =1,此时t被赋值为1,然后计算t+5的值,算出来是6,但是t的值没变,接下来计算t++;因为自加运算符在变量的后边,所以变量会先使用后自加。所以结果为1.

若t为int型,表达式t=1,t+5,t++的值是?
这里说的是表达式的值是1,由于是后缀的++,所以表达式的值是t的原值1 t的值的确是自增了,t=2

t=(t=1,t+5,t++)值是多少?为什么?
结果是:2 逗号表达式,从左到右依次计算每一个表达式的值。t=1,于是此时t=1。t+5,得到6(不赋值),继续计算。t++返回t加1之前的值;t=1,但执行后t再加1;t=2;这个式子相当于:t=1;t+5;t=t++;最后t=2.

相似回答