社区
C语言
帖子详情
下面代码输出是多少?
金笛子
2006-03-13 10:30:56
#incldue<stdio.h>
mian()
{
int a,b,c,d;
a=10;
b=a++;
c=++a;
d=10*a++;
printf("b,c.d:%d.%d",b,c,d);
return 0;
}
结果是多少,为什么?
...全文
219
18
打赏
收藏
下面代码输出是多少?
#incldue mian() { int a,b,c,d; a=10; b=a++; c=++a; d=10*a++; printf("b,c.d:%d.%d",b,c,d); return 0; } 结果是多少,为什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
optimftb
2006-03-14
打赏
举报
回复
还搞着方面的游戏啊,哎
爱我的人请呼吸
2006-03-14
打赏
举报
回复
偶来注释一下
#include<stdio.h>
main()
{
int a,b,c,d;
a=10; /*a=10*/
b=a++; // 此时a的值仍为10。但在本次运算完成后a的值就是11
c=++a; // ++a 是先加一再运算。所以这里a=11+1=12
d=10*a++; //这里先不管*和++的优先级。因为a++是在运算完成后再加一。所以d的值就是10×12=120
printf("b,c,d:%d,%d,%d",b,c,d);
}
iewin
2006-03-14
打赏
举报
回复
10 12 120
yuanchuang
2006-03-14
打赏
举报
回复
我如果没有记错的话,printf对多出来的变量舍弃,对少了的变量是没有定义。
yuanchuang
2006-03-14
打赏
举报
回复
#incldue<stdio.h>
mian()
{
int a,b,c,d;
a=10;
b=a++; //b = 10; a = 11
c=++a; // c = a = 12
d=10*a++; //d = 120; a = 13
printf("b,c.d:%d.%d",b,c,d); // 所以结果是:"b,c.d:10.12"
return 0;
}
xugang_2001
2006-03-14
打赏
举报
回复
10 12 120
zzw820626
2006-03-14
打赏
举报
回复
10 12 120
hncw13
2006-03-14
打赏
举报
回复
10 12 120
注意运算符的优先次序
cthiro123
2006-03-14
打赏
举报
回复
10 12 120
逸学堂
2006-03-14
打赏
举报
回复
int a,b,c,d;
a=10;
b=a++;// b=10,a=10,完成操作后a=11;
c=++a;// c = 12,a=12;
d=10*a++;// d = 10*12=120,完成操作后a=13;
printf("b,c.d:%d.%d",b,c,d);
所以输出为
10,12,120
wangmuqq88
2006-03-13
打赏
举报
回复
欢迎大家加群(C/C++)20641933欢迎大家共同学习交流
iwantfat
2006-03-13
打赏
举报
回复
10 12 120
bojianyu
2006-03-13
打赏
举报
回复
上楼的最后一句话说错了,d中的语句和++的优先级没有关系,还是先执行*再执行++.时刻记住,a++的意思是完成a的其他运算(一步)再执行递增运算
hai_li
2006-03-13
打赏
举报
回复
10 12 120
sosm
2006-03-13
打赏
举报
回复
运算符优先级
一元的+/-最高
*/%次之
二元的+/-低
括号就不说了哈
ykzhujiang
2006-03-13
打赏
举报
回复
结果 b,c,d的值分别是10,12和120
++作为后缀的意思是先对改变量进行运算,然后再对改变量加1
所以b=a++的结果就是a先将10付给b,然后自身变为11
++作为前缀的意思是先对自身加1,然后在进行运算
因此c=++a的结果就是a先自加1,然后再将结果付给c,所以c=12
d=10*a++的道理相同,但是要注意一点就是++运算符的优先级高于*,所以结果为120
ykzhujiang
2006-03-13
打赏
举报
回复
改正如下
#include<stdio.h>
main()
{
int a,b,c,d;
a=10;
b=a++;
c=++a;
d=10*a++;
printf("b,c,d:%d,%d,%d",b,c,d);
}
ykzhujiang
2006-03-13
打赏
举报
回复
你的代码写得有些错误
下面
的程序
代码
输出
的结果是多少?
文章通过示例解释了在Java中,尽管return语句会先执行并放置返回值到函数栈中,但finally块的
代码
会确保在函数实际返回之前被执行。因此,即使在try块中有return语句,finally块的内容仍会按顺序执行,导致最终返回的结果是在finally块中定义的值。
java基础问题---------
下面
的程序
代码
输出
的结果是多少
本文深入解析Java中的try-finally-finally机制,阐述return语句与finally块的执行顺序,并通过实例演示最终返回值为2的原因。同时,文章对比了final、finally和finalize的区别,以及运行时异常与一般异常的区别,最后介绍了error和exception的区别。
给定
下面
伪
代码
,请说出程序运行多少秒后会
输出
“Hello World!”(不考虑其它干扰因素)?并解释下为什么?
博客因未提供伪
代码
,创建示例说明。示例伪
代码
中程序开始执行后等待5秒
输出
“Hello World!”,原因是“等待5秒”指令让程序暂停,结束后执行
输出
指令。实际前端开发可用JavaScript异步功能实现,如用定时器函数。
Linux两进程循环
输出
,【Linux】请问
下面
的程序一共
输出
多少个“-”?
本文通过分析一个具体的C程序案例,深入探讨了fork系统调用的执行机制及其如何影响
输出
缓冲,揭示了子进程继承父进程状态的具体表现,并解释了不同结果出现的原因。
【Linux】请问
下面
的程序一共
输出
多少个“-”?
本文探讨了一个Linux程序在创建子进程时,由于缓冲区的影响导致
输出
的'-'字符数量变化的问题。分析了父进程、子进程以及缓冲区的作用,揭示了为何原始程序可能出现8个或6个'-'的
输出
结果。
C语言
70,038
社区成员
243,247
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章