搜索
查看: 2329|回复: 5
打印 上一主题 下一主题

win7 64位 遇到加减乘除运算 返回的是一组数字 求原因

[复制链接]
跳转到指定楼层
楼主
发表于 2013-3-26 08:28:52 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
代码:
#include <stdio.h>
#include <windows.h>
int main()
{
int a,b,c;
    a = 1;
    c = a + b;
    printf("请输入b");
    scanf("%d",&b);
    printf("%d",c);
Sleep(5000);
return 0;
}


返回的c值

最佳答案

查看完整内容

要把 scanf("%d",&b); 写在 c=a+b; 前面
沙发
发表于 2013-3-26 08:28:53 | 只看该作者
要把  scanf("%d",&b); 写在 c=a+b; 前面

[code=Cpp width=740px]#include <stdio.h>
#include <windows.h>
int main()
{
int a,b,c;
    a = 1;
   
    printf("请输入b");
    scanf("%d",&b);
   
    c = a + b;
   
    printf("%d",c);
    Sleep(5000);
    return 0;
}[/code]

点评

谢谢  发表于 2013-3-26 12:31
板凳
发表于 2013-3-26 12:09:21 | 只看该作者
#include <stdio.h>
#include <windows.h>
int main()
{
int a,b,c;
    a = 1;
   
    printf("请输入b");
    scanf("%d",&b);
    c = a + b;
    printf("%d",c);
Sleep(5000);
return 0;
}

点评

谢谢!  发表于 2013-3-26 12:31
地板
 楼主| 发表于 2013-3-26 12:32:49 | 只看该作者
啊哈磊 发表于 2013-3-26 08:28
要把  scanf("%d",&b); 写在 c=a+b; 前面

先谢谢啊,再多嘴问一句,为什么要放在前面?还有返回的那个值是什么?
5#
发表于 2013-3-27 14:31:32 | 只看该作者
foxjiu 发表于 2013-3-26 12:32
先谢谢啊,再多嘴问一句,为什么要放在前面?还有返回的那个值是什么?

必须先对b赋值,再进行运算。否则,程序将从内存中随机取地址赋值给b.
b得到随机值后与a相加。所以返回的那个值是一个随机值。

点评

谢谢!!!  发表于 2013-3-27 16:17
6#
发表于 2013-4-27 00:01:57 | 只看该作者
可以这样编写。

#include <stdio.h>
#include <windows.h>
int main()
{
int a,b;
    a = 1;
    printf("请输入b");
    scanf("%d",&b);
    printf("%d",a+b);
Sleep(5000);
return 0;
}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表