老牛来学习 发表于 2020-2-18 13:03:45

冒泡排序法getchar()

#include<stdio.h>

int main()
{
    int n,i,j,x,a;
    printf("n(<60)=");
    scanf("%d",&n);
    printf("请输入%d个integers:\n",n);
    for(i=0;i<n;i++)
    {
      scanf("%d",&a);
    }
    for(i=1;i<n;i++)
    {
      for(j=n-1;j>=i;j--)
      {
            if(a<a)
                {
                  x=a;
                  a=a;
                  a=x;
                }
      }
    }
    for(i=0;i<n;i++)
    printf("%d",a);
    getchar();          //这里的getchar()作用是什么?
}


上述代码中最后一个getchar()是什么意思,书上说通过getch函数接收一个字符,防止程序迅速结束的。但是我加不加好像对程序没有影响。

qiuyouzhi 发表于 2020-2-18 13:16:31

本帖最后由 qiuyouzhi 于 2020-2-18 13:45 编辑

你试试编译出来的.exe文件,去掉getchar试试
肯定会闪退

4goodworld 发表于 2020-2-18 13:38:08

一些人在控制台输出的时候会代码执行完一闪而过,如果加了getchar()就可以让窗口不消失,就是这个作用
如果你不需要,删掉就好了,不影响大局

老牛来学习 发表于 2020-2-18 16:39:43

4goodworld 发表于 2020-2-18 13:38
一些人在控制台输出的时候会代码执行完一闪而过,如果加了getchar()就可以让窗口不消失,就是这个作用
如 ...

所以不加为啥会出现一闪而过啊

4goodworld 发表于 2020-2-18 18:35:05

老牛来学习 发表于 2020-2-18 16:39
所以不加为啥会出现一闪而过啊

就想吃东西,你不含着,就咽下去了
入口到咽,如果你不加阻拦,可能就一两秒的事情(所谓一闪而过),你含着,你可以让菜在口腔里了呀

老牛来学习 发表于 2020-2-21 19:18:39

4goodworld 发表于 2020-2-18 18:35
就想吃东西,你不含着,就咽下去了
入口到咽,如果你不加阻拦,可能就一两秒的事情(所谓一闪而过),你 ...

我想问的是这个让它含着的动作是怎么个实现过程,感谢
页: [1]
查看完整版本: 冒泡排序法getchar()