用vs2012编写c语言的时候,运行时总有闪退的问题。。。但是我看过网上的一些解决方法,却好像没有

用vs2012编写c语言的时候,运行时总有闪退的问题。。。但是我看过网上的一些解决方法,却好像没有什么用!求大神帮忙一下!!!

在程序的最后或return 的上面,加上:

system (" pause ");

这样程序就暂停了,等你按键后继续

追问

没有用。。。老是说我 的system是不存在此意义的词

追答

加上头文件:

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

追问

加了。。这个肯定加了!!

追答

那你把代码复制出来,把界面截图发上来

追问

等等。。。我回去试试。。。现在在上课

追答

好的,有问题再解决吧

追问

的确不行阿

追答

在 return 0; 的上面加一句,变成下面这样:

    getchar();
    return 0;
 }

追问

还是闪退!

追答

那你编译运行后,让你输入 a和b 的数值了吗

追问

我输入了

但是在我刚刚看到结果的时候就自动关闭那个运行框了

追答

你把程序复制,然后编译运行

#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b;
printf("请输入二个数\n");
a=gtechar();
b=gtechar();
printf("%d %d",a,b);
    system("pause");
    return 0;  
}

追问

可以啦~

太感谢了!!!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-10
在 main 函数 return 之前加一句接收键盘输入的。例如 getch() 之类。不然你写的dos窗口程序,在return 后自动关闭了控制台。追问

是getchar吗?我输入木有用!

追答

那就可能是代码有问题运行中出现异常退出了。代码不长的帖来看看?或者你单步运行看看跑到哪出退出的。

追问

。。。我所有写的都会出现闪退!甚至我只是抄写书上的程序也会闪退!

追答

单步运行来看看吧。这样能确保你跑的代码是你写的,并且验证你的代码正确无误,确实跑到了main最后一句退出。vs2012 控制台程序里,getchar 之类的暂停不可能没有用的。你也可以试试,把getchar放入口第一句,如果这样都不停下来等待输入,那你的工程肯定有问题。

追问

追答

这样不行吗?我从来都这样做,极少用 system("pause");
看你上面能用 getchar 输入 a, b 那也表示getchar有效啊。

追问

。。。我已经解决了。。。不能只加一句

追答

如果按你上面这个代码,那当然不能只加一句。因为你要输出显示a,b,需要有a,b获取值的语句。但不代表任何时候都要多句。你可以试下下面的代码行不行。

#include <stdio.h>

int main(void)
{
    printf("Hello world!\n");
    getchar();
    return 0;
}

如果没有别的问题,这样是可以在显示Hello world!之后暂停让你看到结果,在你输入回车后消失终端窗口。如果这样不能显示,肯定是存在一些未知问题。

第2个回答  2013-10-10
需要是暂停,

比如你的输入方式是getchar或是cin,scanf,首先是支持的,如果vs2012,cin一定是可以的,随便输入一个东西都行,只要让屏幕暂时锁定一会就好了,也许只是想暂停一小会,可也用sleep设个时间,只要能看清也好追问

肿么弄。。。

追答

可以试试,不过定义要放在前面,不然有可能会出错
int x;
cin>>x;

第3个回答  2013-10-10
这个是vs的特性,你是写c语言对吧 ,那在程序最后加一句无意义的scanf输入语句,就可以看到结果了。追问

怎么输入。。你把整句写一下

追答

int x;
scanf("d%",x);

追问

那个x随便打?我是初学者不大知道。。。

追答

x 当然是整数

第4个回答  2013-10-10
加一个输入,getchar();getchar();追问

没用。。。

追答

不可能没用的,,我的VS2010都可以用。。。。是你不知道创建工程,,然后你改的代码,,和你编译的不是同一个代码,,,,就会出现你那种情况,,,你重新看看是不是你保存的代码,,和你编译的不是同一个,,以前我出现过类似的问题,,,

追问

阿?我的步骤都是根据百度经验的教程进行的!照理说不会错!

追答

你改的代码,,和你编译的不是同一个代码!!!!!!!!!!!!!!!这句话就是重点,,不信你重新写过代码,,,,把原来的关闭 重新打开。。。重新粘贴到源文件去。。。

相似回答