怎样让c语言程序结果不结束?

来源:百度知道 编辑:UC知道 时间:2024/06/20 12:38:33
在如下程序运行后,最后的一部没有出来就自动关闭了,怎样用语句解决这个问题?
#include <stdio.h>
main()
{int choose,yourage;
char yourname,youremail,yourschool;
clrscr();
printf("Card Example:\n");
printf(" ********************************\n");
printf(" * *\n");
printf(" * Name: Wang Chaoqi *\n");
printf(" * Age: 00 *\n");
printf(" * E-mail: wangwcq@gmail.com *\n");
printf(" * School: JPSY *\n");
printf(" * *\n");
printf(" ********************************\n\n");
printf("Let me help you to make your own card:\n");
printf("Please type in your name:");
scanf("%s",yourname);
printf("Please t

在您想要暂停的地方加上 system("pause"); 就可以使 C/C++ 程序暂停。不过,这个办法奏效的前提是系统中必须存在 pause 这个命令。此外,还需要包含标准头文件 stdlib.h(对于 C)或者 cstdlib(对于 C++)。
这个是一个方法 还有 方法2
这种方法稍微有点复杂,但它通用于任何系统,只要这个系统拥有符合标准的 C/C++ 编译器。在您想要暂停的地方加上 getchar();(对于 C 和 C++)或者 cin.get();(仅适用于 C++)就可以使程序暂停,然后按回车程序就会继续执行。不过,您会发现,这种办法却不一定奏效。如果您够细心,会发现只有当 getchar();/cin.get(); 前面有接收输入的语句的时候,该办法才会失效。如果之前没有接收任何输入,该办法是 100% 奏效的!这是因为,如果前面接收了输入,输入流中可能会有残留数据,getchar();/cin.get(); 就会直接读取输入流中的残留数据,而不会等待我们按回车。解决该问题的办法是,先清空输入流,再用 getchar();/cin.get();。清空输入流的办法如下:

1). /* 适用于 C 和 C++。需要包含 stdio.h(对于 C)或者 cstdio(对于 C++)*/
while ( (c = getchar()) != '\n' && c != EOF ) ; /* 对于 C 和 C++ */

2). cin.clear(); // 仅适用于 C++,而且还需要包含标准头文件 limits
cin.ignore( numeric_limits<streamsize>::max(), '\n' );

例如
#include <iostream>
#include <limits>
#include <cstdio>

using namespace st