A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ak13211 中级黑马   /  2015-12-30 11:08  /  1159 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

比如 int a,b,c;
c=a+b;
scanf("%d%d",a,b);
printf("%d",c);
求教:  赋值与否有什么区别 ?


6 个回复

倒序浏览
没有区别,因为你的赋值在scanf函数后面,即使a和b有值了也不会再相加然后赋给c,c打印出来还是随机数,不会是a+b
回复 使用道具 举报
韦德460 发表于 2015-12-30 18:11
没有区别,因为你的赋值在scanf函数后面,即使a和b有值了也不会再相加然后赋给c,c打印出来还是随机数,不 ...

问题一 c=a+b 写在scanf 前面 c语言不是逐条运行吗 为什么说在后面?(程序已测试出错了)
问题二 我把c=a+b写在scanf后面 程序可以正常执行  结果是a+b。 然后回到原来的问题,赋值有什么意义?赋值与否有什么区别?  非常感谢
回复 使用道具 举报
ak13211 发表于 2015-12-31 15:27
问题一 c=a+b 写在scanf 前面 c语言不是逐条运行吗 为什么说在后面?(程序已测试出错了)
问题二 我把c= ...

程序是从上往下执行的,定义三个变量a,b,c,这是abc都是随机数。然后执行c=a+b,计算出来c还是随机数,然后执行scanf函数,给a和b赋值,a和b的值改变了。最后执行printf函数,打印c,这时候的c还是随机数!
你的问题赋值与否有什么区别是什么意思,问题说具体一点方便我回答你
回复 使用道具 举报
韦德460 发表于 2015-12-31 21:33
程序是从上往下执行的,定义三个变量a,b,c,这是abc都是随机数。然后执行c=a+b,计算出来c还是随机数, ...

int a,b,c;

scanf("%d%d",a,b);
c=a+b;
printf("%d",c);
这样的话 是不是腹部赋值都一样了?不一样的话 有什么区别
回复 使用道具 举报
看晕了.
回复 使用道具 举报
ak13211 发表于 2016-1-1 09:27
int a,b,c;

scanf("%d%d",a,b);

不是啊,赋值的话打印c的结果就是a+b计算的结果,
不赋值的话,c就是随机数了啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马