C语言一道简单的题目,刚学习,请高手解释一下,不理解。
#include<stdio.h>main(){inta,b,c,d;a=10;b=a++;c=++a;d=10*a++;printf("b,c,d:%d,%d,%d",...
#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);
return 0;
}
最后结果是啥?可否给结果解释一下,先谢谢了。 展开
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);
return 0;
}
最后结果是啥?可否给结果解释一下,先谢谢了。 展开
6个回答
展开全部
b=10, c=12, d=120
#include<stdio.h>
main()
{
int a,b,c,d;
a=10;
//b=a++; 这个相当于:
b=a;
a=a+1;
//c=++a; 这个相当于:
a=a+1;
c=a;
//d=10*a++; //这个相当于:
d=10*a;
a=a+1;
printf("b, c, d: %d, %d, %d", b, c, d);
return 0;
}
#include<stdio.h>
main()
{
int a,b,c,d;
a=10;
//b=a++; 这个相当于:
b=a;
a=a+1;
//c=++a; 这个相当于:
a=a+1;
c=a;
//d=10*a++; //这个相当于:
d=10*a;
a=a+1;
printf("b, c, d: %d, %d, %d", b, c, d);
return 0;
}
追问
d=10*a 是把*看成乘法了吧,还是看成了指针,我记得指针就有个*号,有点小迷糊??
追答
这里是乘法,如果是指针的话,那就是语法错误了
展开全部
最后结果 10,12,120
a=10;
b=a++;
此时b=10,a=11(a++本身等于a,赋值给b后再加1)
c=++a;
此时c=12,a=12(++a本身等于a+1)
d=10*a++;
同理d=10*12=120,赋值后a=13
所以执行结果b=10,c=12,d=120
a=10;
b=a++;
此时b=10,a=11(a++本身等于a,赋值给b后再加1)
c=++a;
此时c=12,a=12(++a本身等于a+1)
d=10*a++;
同理d=10*12=120,赋值后a=13
所以执行结果b=10,c=12,d=120
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a=10 => a=10
b=a++;=> b=10,a=11
c=++a;=>c=12,a=12
d=10*a++; d=120,a=13
一个是先加后赋值,一个是赋值后再加
b=a++;=> b=10,a=11
c=++a;=>c=12,a=12
d=10*a++; d=120,a=13
一个是先加后赋值,一个是赋值后再加
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
b=10
c=11+1=12 运算结束后a自加=11 c=++a 先+1 在赋值给c c=12
d=10乘以12=120 d=120
c=11+1=12 运算结束后a自加=11 c=++a 先+1 在赋值给c c=12
d=10乘以12=120 d=120
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
b=a++; //运算过后b=10;a=11; a先赋值给b,后自增1
c=++a; //运算过后c=12;a=12;a先自增1,后赋值给c
d=10*a++;//运算过后d=120;a=13; a先*10赋值给d,后自增1
望采纳
c=++a; //运算过后c=12;a=12;a先自增1,后赋值给c
d=10*a++;//运算过后d=120;a=13; a先*10赋值给d,后自增1
望采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
b,c,d:10,12,120
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询