啊哈磊_编程从这里起步

标题: win7 64位 遇到加减乘除运算 返回的是一组数字 求原因 [打印本页]

作者: foxjiu    时间: 2013-3-26 08:28
标题: win7 64位 遇到加减乘除运算 返回的是一组数字 求原因
代码:
#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值

作者: 啊哈磊    时间: 2013-3-26 08:28
要把  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]
作者: qq401814074    时间: 2013-3-26 12:09
#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;
}

作者: foxjiu    时间: 2013-3-26 12:32
啊哈磊 发表于 2013-3-26 08:28
要把  scanf("%d",&b); 写在 c=a+b; 前面

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

必须先对b赋值,再进行运算。否则,程序将从内存中随机取地址赋值给b.
b得到随机值后与a相加。所以返回的那个值是一个随机值。
作者: AQSQ    时间: 2013-4-27 00:01
可以这样编写。

#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;
}




欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2