注册 登录
编程论坛 C语言论坛

getchar()做结束语怎么还是运行结束后直接就退出程序了呀

whtower 发布于 2019-10-31 22:14, 1449 次点击
#include <stdio.h>
int main()
{
     double n,r,s,c;
    printf("本软件就只能计算一下圆的面积或者周长\n,你还想继续就继续吧\n.");
    printf("计算面积就摁1,计算周长就摁2,不摁拉倒\n");
    scanf("%lf",&n);
    if(n==1){
    printf("输入半径吧\n");
    scanf("%lf",&r);
    s=3.14*r*r;
    printf("面积是%lf\n哎哟不错哦\n",s);
   }
    else if (n==2){
     printf("输入半径吧\n");
    scanf("%lf",&r);
    c=6.28*r;
    printf("周长是%lf\n哎哟不错哦\n",c);
    }
    else {
    printf("你输入的什么玩意儿,SB\n");
    }
    printf("不玩儿了,退出了!");
    return 0;
    getchar();
    }
3 回复
#2
rjsp2019-11-01 08:36
1. 代码要排版,别弄得像天书似的
2. getchar();在return 0;后面,不会被执行
3. 即使调换 getchar(); 和 return 0; 位置,那 getchar() 自动获取了上次输入的换行符,根本没达到你需要的结果
4. 在尾部加 getchar() 或 system("PAUSE") 的,都外行做法,就不应该加这些。

[此贴子已经被作者于2019-11-1 08:37编辑过]

#3
whtower2019-12-04 08:55
回复 2楼 rjsp
那如果想直接运行这个代码,最后自己运行结束而不退出,应该怎么办啊(刚学)
#4
rjsp2019-12-04 09:23
运行结束而不退出
为什么“运行结束而不退出”,故意制造bug?
即便在控制台(cmd.exe)中执行一个控制台程序,当程序结束后也是自动退出的呀,即便它之前的输入输出留在控制台(cmd.exe)中。
1