C语言闪退以及error问题

C语言生成可执行程序后,运行之后会闪退,看不到输入结果,然后找到了解决方法 加一条system("pause"),
可是又今天在做另个的时候发现,加入这一条后会出现error提示,删除还是会闪退。以下是出现问题的段:
int x = 0;

printf("请输入一个三位数:");
scanf("%d", &x);

int a = x/100;
int b = x%100/10;
int c = x%10;

printf("%d\n",c*100+b*10+a);

system("pause");
return 0;
而这个:

int x;
scanf("%d", &x);
int n = 0;
do
{
x/=10;
n ++;
}while(x>0);
printf("%d\n",n);

system("pause");
return 0;
就不会出现这样的问题、
求大神指导、谢谢

error信息是啥?error就是给你判断哪里出错的,这都不贴。如果第二段代码的没问题,那就比较这2段代码的不同之处。我看这两段代码都有system("pause");,说明都调用了系统的pause命令,那么出错的问题就不在闪不闪退(执行完后自动退出,这是正常的。vc在调试模式下为了让你看到结果,可以设置执行完不退出),而在不同的代码段。追问

[Error] 'system' was not declared in this scope
提示的是这样的。不在范围内。我不大明白这个

追答

意思是这个东西“system”不在声明的范围内,也就是说system没有声明,确实是你没引入正确的头文件。ctrl+F5是vs的快捷键,你自己百度一下是什么含义。dev c++里面快捷键肯定和vs不太一样啊。
dev里面菜单选 工具-》环境选项,然后把“在return之后暂停控制台程序”前面的勾打上!不就行了?最好提问前先百度一下这个问题怎么解决,提高自己查找资料的能力。

追问

嗯、谢谢你的回答、你说的 在return之后暂停控制台程序  这个选项是勾选的

通过你说的。也许我用闪退这个词表述有点问题。应该是运行完退出吧、我想做的是运行完停住。比如这样:

以及、谢谢你的提醒、我查找资料的能力确实需要提升。我会继续努力的、不过这个都提问了、先让我解决它吧、orz

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-09-15
C语言在编译的时候,运行界面一闪而过,一般有两种解决方法。

第一,按ctr + f5,强制执行就可以了。

第二、在程序末尾加system("pause");,不过需要加头文件#include<stdlib.h>追问

1、Ctrl+F5,我试了试在vs里可以用,但是在dev c++里不可以用。
2、文件应该是#include 吧?

追答

表头文件
#include
定义函数
int system(const char * string);
不是#include

追问

我按你说的试了试,还是不行、这次error不是出现在system了、而是出现在printf以及scanf上面了。int system(const char * string);  这个不论我把它放在哪个位置。都会提示error。

追答

int system(const char * string); 这是不需要放的,直接用就可以了。

dev c++可能不支持这个函数,建议你不要用这个工具。

换一个好的编译工具吧。

追问

好的、谢谢、我开始用VS

本回答被提问者和网友采纳
第2个回答  2015-08-29
这两段程序没有问题,错误提示具体是什么追问

[Error] 'system' was not declared in this scope
提示是这个

相似回答