标题:为什么为出现“-858993460"的结果。
只看楼主
still2study
Rank: 1
等 级:新手上路
帖 子:2
专家分:3
注 册:2015-7-1
结帖率:0
已结贴  问题点数:20 回复次数:13 
为什么为出现“-858993460"的结果。
刚刚学习C语言,编了一个求和的程序,代码如下:

#include <stdio.h>
#include <stdlib.h>

main()
{
    int a,b,sum;
    printf("Please input:\na=%d",a);
    scanf("%d",&a);
    printf("Please input:\nb=%d",b);
    scanf("%d",&b);
    sum= a+b;
    printf("两数的和=%d\n",sum);
    system("pause");
    return 0;
}

编译过程中,没有报错,只有有如下的提示:
--------------------Configuration: 0101 - Win32 Debug--------------------
Compiling...
Skipping... (no relevant changes detected)
0101.cpp

0101.obj - 0 error(s), 0 warning(s)

--------------------Configuration: 0101 - Win32 Debug--------------------
Linking...

0101.exe - 0 error(s), 0 warning(s)

但是执行时就多了一个“-858993460”的结果。
运行结果如下:

搜索更多相关主题的帖子: relevant include system return C语言 
2015-07-26 02:05
jklqwe111
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:35
帖 子:335
专家分:1125
注 册:2014-4-13
得分:2 
printf("Please input:\na=%d",a);
    scanf("%d",&a);
    printf("Please input:\nb=%d",b);
    scanf("%d",&b);
次序问题,a或b 应该先输入后输出。
2015-07-26 19:39
vvvcuu
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:12
帖 子:353
专家分:1253
注 册:2014-4-22
得分:2 
a,b是两个变量,没有初始化, 在等待你的输入,你还没有输入就先输出, 在内存中的数字是不确定的. 所以输出的数字是不确定.

你在不同的系统,不同的时间,不同的编译器下编译,输出的那个数字都是不同的.

代码测试环境:  WinXP+C-Free5.0.
2015-07-26 20:31
ys344517874
Rank: 1
等 级:新手上路
帖 子:9
专家分:2
注 册:2015-7-26
得分:2 
a,b你都还没赋值你就输出了。。 那是未赋值时的随机值
2015-07-26 20:48
yx1998
Rank: 2
等 级:论坛游民
威 望:1
帖 子:30
专家分:35
注 册:2015-7-24
得分:2 
c中,变量要先赋值,才能引用,否则是任意值。

静心学习,远离浮躁。
2015-07-26 21:06
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:2 
随机值
2015-07-26 21:26
可口可楽
Rank: 2
等 级:论坛游民
帖 子:4
专家分:50
注 册:2015-2-6
得分:2 
未赋值输出..
2015-07-26 21:41
zghnxzdcx
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:550
专家分:1176
注 册:2010-4-6
得分:2 
你的printf里面多写了个参数……

你永远不可能战胜一个纯傻子,因为他会把你的智商拉到和他同一个水平,然后用他的丰富经验打败你。
2015-07-27 10:43
zhangok001
Rank: 1
等 级:新手上路
帖 子:16
专家分:6
注 册:2015-7-28
得分:2 
变量要先赋值,才能引用,否则是读取的。A,B 地址里面的垃圾值,在不是的进时候这个值,还会不一样
2015-07-28 17:54
zhangok001
Rank: 1
等 级:新手上路
帖 子:16
专家分:6
注 册:2015-7-28
得分:0 
变量要先赋值,才能引用,否则是读取的A,B 地址里面的垃圾值,在不同的进时候这个值,还会不一样
2015-07-28 17:55



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-455780-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.120729 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved