社区
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;
}
结果是多少,为什么?
...全文
187
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
打赏
举报
回复
你的代码写得有些错误
第十四题: 以下
代码
的
输出
结果是?
第十四题: 以下
代码
的
输出
结果是? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 public class B { public static B t1 = new B(); ...
以下
代码
的
输出
结果是?
class A { public A() { a1(); } public void a1() { System.out.println("A-a1"); } } public class Test extends A { int bb = 0; public Test() { bb = 1000; } public void a1() { Syste...
在32位小端的机器上,如下
代码
输出
是什么?
在32位小端的机器上,如下
代码
输出
是什么:char array[12] = {0x01 , 0x02 , 0x03 , 0x04 , 0x05 , 0x06 ,0x07 , 0x08}; short *pshort = (short *)array; int *pint = (int *)array; int64 *pint64 = (int64 *)array;
下面
代码
的
输出
结果是什么(throw的应用)
下面
代码
的
输出
结果是什么? public class ZeroTest { public static void main(String[] args) { try{ int i = 100 / 0; System.out.print(i); }catch(Exception e){ System.out.print(1); throw new RuntimeException(); }finally{
以下
代码
的
输出
结果是什么?
#include using namespace std; class A{ protected: int a; public: A(int data=0) { a=data; } int GetData() { return doGetData(); } virtual int doGetData() { return a; } };
C语言
69,371
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章