社区
C语言
帖子详情
关于表达式c=(a%b,a/b),
ErikChen1985
2005-06-27 09:49:29
书上有一题:
int a=20,b=6,c;
printf("%d\n",c=(a%b,a/b);
问输出结果。
这个题目我在tc上连编译都通过不了,不知道是什么问题。
是书上错了吗?
...全文
375
17
打赏
收藏
关于表达式c=(a%b,a/b),
书上有一题: int a=20,b=6,c; printf("%d\n",c=(a%b,a/b); 问输出结果。 这个题目我在tc上连编译都通过不了,不知道是什么问题。 是书上错了吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yuchengliu
2005-06-28
打赏
举报
回复
int a=20,b=6,c;
printf("%d\n",c=(a%b,a/b);
这个是编译器的问题
在Bcc上, 只计算a/b的值!
kudoxinyiji
2005-06-28
打赏
举报
回复
这种只能作为精典的面试题。
TC 编不过换一个编译器试试。
naturemickey
2005-06-28
打赏
举报
回复
to: takbj(剑之吻)
逗号表达式的值是最后一下表达式的值。这是标准。
答案是3。
Jim_King_2000
2005-06-28
打赏
举报
回复
逗号表达式不是这样用的。这样用前面一个表达式就浪费了。如果是这样用的话c = a *= 10, a / b……
ErikChen1985
2005-06-28
打赏
举报
回复
那这个运算符用在什么地方?
clear117
2005-06-28
打赏
举报
回复
mark
wohow
2005-06-28
打赏
举报
回复
叫你看一下逗号表达式的计算顺序和结果,在本例a%b中没有作用,但是逗号左边的运算有时还是有作用的
TechEye
2005-06-28
打赏
举报
回复
a%b 根本没起作用。
niefuhua
2005-06-28
打赏
举报
回复
3
ErikChen1985
2005-06-28
打赏
举报
回复
那前面那个值有什么用?
Jim_King_2000
2005-06-27
打赏
举报
回复
逗号表达式,c的值应该是最后一个表达式,即a/b。
megaboy
2005-06-27
打赏
举报
回复
to 楼主:
Code has no effect in function main这句话指的是那个a%b,因为这个表达式没有任何副作用,它存在不存在都是无所谓的,如果你把它改成printf("%d\n",c=(c=a%b,a/b));就不会出那个警告了。
takbj
2005-06-27
打赏
举报
回复
将a%b或a/b的值给c;(具体是那一个要看编译器了)
ErikChen1985
2005-06-27
打赏
举报
回复
还有,有一个警告:Code has no effect in function main。是什么意思啊?
ErikChen1985
2005-06-27
打赏
举报
回复
这是什么表达式啊?
值是什么赋的?
谢谢!
foochow
2005-06-27
打赏
举报
回复
少括号^_^
qfeng_zhao
2005-06-27
打赏
举报
回复
printf("%d\n",c=(a%b,a/b));
少个括号
3 a 5的c语言
表达式
,C语言中,赋值
表达式
:(a=3*5)=4*3,为什么整个
表达式
的值为1,
表达式
x=(a=3,6*a)和
表达式
x=a=3,6*a分别是...
导航:网站首页 >C语言中,赋值
表达式
:(a=3*5)=4*3,为什么整个
表达式
的值为1,
表达式
x=(a=3,6*a)和
表达式
x=a=3,6*a分别是C语言中,赋值
表达式
:(a=3*5)=4*3,为什么整个
表达式
的值为12...,
表达式
x=(a=3,6*a)和
表达式
x=a=3,6*a分别是赋值
表达式
和逗号
表达式
...匿名网友:逗号
表达式
的要领:(1) 逗号
表达式
的运算过程为:从左往右逐个计算...
C语言中的复合赋值符“+=,-=,*=,/=,%=”的详解
e %= 6意思就是:把e除以6得到的余数余数,然后再把模完之后的数字赋给e。同样也可以把“+=,-=,*=,/=,%=”左右两边的数都换成同样的a,b,c,d,e如上图,原理不变。a += 7意思就是:把7加给a,然后再把加完之后的数字赋给a。写成具体的
表达式
:a = a + 7。b -= 8意思就是:用a减去8,然后再把减完之后的数字赋给b。c *= 9意思就是:将c乘上9,然后再把乘完之后的数字赋给c。d /= 5意思就是:把d除以5,然后再把除完之后的数字赋给d。以第一个“+=”为例。
【c语言】逗号运算符和逗号
表达式
y = (x=a + b), (b + c);
逗号运算符和逗号
表达式
a a c语言
表达式
是,c语言中,已知a=12,则
表达式
a+=a-=a*=a的结果是什么,求步骤
优质回答 回答者:LionelWSE从右向左算首先a的值是12第一步:计算a*=aa=a*a=144第二步:计算a-=144a=a-144=0第三步:计算a+=0a=a+0=0-----------------------------------------------------------------回答者:满城gu结果是0原因:从右向左进行a*=a --------->a = a*a;...
若a为int类型,且其值为3,则执行完
表达式
a+= a-= a*a后,a的值是
若a为int类型,且其值为3,则执行完
表达式
a+= a-= a*a后,a的值是 #include<stdio.h> int main() { int a=3; a+=a-=a*a; printf("%d",a); } 首先,我们要知道,这种复合运算符是右结合的 也就是说,从右向左计算,先计算 a*a=9 再计算 a-9=3-9=-6,主要,这个时候其实就把-6赋值给了a ,那么a+(-6)=-6+(-6)=-12 再把-12赋值给a,则a=-12。 ...
C语言
69,373
社区成员
243,079
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章