我是C编程语言的初学者 我想知道我的IDE存在问题,或者我无法理解。 问题是当写一些代码并编译它们运行良好但突然停止工作。这适用于每个程序和每个IDE,甚至在我的两台计算机上进行了测试,但两者都遇到了同样的问题。
例如最简单的代码崩溃,例如:
#include <stdio.h>
#include <conio.h>
int main(){
int num1, num2, result;
result = num1 + num2;
printf("Enter Value 1:\n");
scanf("%d",num1);
printf("\nEnter Value 2:");
scanf("%d",num2);
printf("The result of %d + %d is %d",num1,num2,result);
getch();
return 0;
}
当我在CodeBlocks或DevCPP上运行它或用MinGW或VC ++编译器编译它时,它会在scanf中输入数据到程序后崩溃。顺便说一句,我的编译器和IDE安装和配置正确,没有任何问题。但IDK所有已编译的程序都在崩溃!即使是一个简单的HELLO WORLD prorgam!请帮我。 我的第一台PC: 英特尔奔腾D 3.4 GhZ 4GB RAM DDR3 Windows 8.1 Pro x64
我的第二台电脑: Intel Atom 1.4 GhZ 2GB RAM Windows 8.1 Pro x86
我关闭了我的AV,以确保它不是来自AV的问题,但同样的问题。崩溃。
错误信息: 问题事件名称:APPCRASH 应用程序名称:Arithmetic Operations.exe 应用版本:0.0.0.0 应用程序时间戳:57a9fa0c 故障模块名称:msvcrt.dll 故障模块版本:7.0.9600.16384 故障模块时间戳:5215f944 例外代码:c0000005 异常偏移:000000000001dd5c 操作系统版本:6.3.9600.2.0.0.256.48 区域设置ID:1065 附加信息1:3d05 附加信息2:3d052cae4082fb501044f19c5df730a9 附加信息3:4191 附加信息4:41915c3946c3709cfe888641ded802fc
请帮帮我!
答案 0 :(得分:1)
scanf
中的整数: scanf("%d", &num1);
scanf
字符串中添加一个空格: scanf(" %d", &num2);
num1
时过早地读取num2
和result
的未初始化值。result = num1 + num2;
。将num1
移至num2
并计算=
之后。答案 1 :(得分:1)
在c语言scanf方法中使用&
符号
printf("Enter Value 1:\n");
scanf("%d",&num1);
printf("\nEnter Value 2:");
scanf("%d",&num2);
答案 2 :(得分:0)
编辑:我很笨,我正在查看格式字符串的参数,但是你应该将整数作为指针传递给scanf。
此外,您甚至在设置这些值之前将结果设置为num1 + num2。