【发布时间】:2018-06-05 14:21:55
【问题描述】:
几天前,我安装了 Eclipse ide 以及其中用于 C 和 C++ 开发的 CDT 插件。也做了必要的设置。还尝试了一个简单的将两个整数相加的 C 程序。令人惊讶的是,终端中没有显示任何输出,但是当程序终止时,它显示了错误的输出 0。
节目是这样的:
#include <stdio.h>
int main(){
int a, b;
printf("Enter an integer: "); scanf("%d", &a);
printf("Enter another integer: "); scanf("%d", &b);
printf("Sum = %d", (a+b));
return 0;
}
同样的程序在使用命令提示符运行时显示正确的输出:
gcc -g add.c -o add.exe
我在代码中有什么错误吗?谁能建议我在 Wclipse 中运行它需要做什么?
【问题讨论】:
-
您可以尝试直接使用 gcc 进行编译,例如查看是否存在语法错误。如果你尝试一下,你会发现你的短程序是正确的。
-
您可能遇到了与this question 相同的问题。请在那里查看我的答案。
-
调用任何
scanf()系列函数时:始终检查返回值(而不是参数值)以确保操作成功 -
关于:
printf("Sum = %d", (a+b));流 I/O 已缓冲。因此,目前,在程序退出之前,不会将数据推送到终端。要纠正这个问题,请使用格式字符串:"Sum = %d\n"注意尾随的换行序列,这会导致标准输出流被刷新到终端。, -
为了便于阅读和理解:遵循公理:*每行只有一个语句,并且(最多)每个语句一个变量声明。
标签: c eclipse eclipse-cdt