您的位置:首页 > 编程语言 > C语言/C++

字符串读入问题 (C语言)

2017-07-20 11:31 267 查看
字符串读入3种形式 scanf gets getchar

scanf不可以读入空格,读入空格即可停止,算一个字符数组(不含空格),可以应用于2个句子间有很多空格,但2个句子本身没有空格

gets可以读入空格,可以读入含有空格的句子的时候,

getchar是读入一个字符,可以读入空格,经常用于处理读掉空格。

例:n行m列的二维字符数组的输入与显示  (为了方便n=2,m=2)

  for(int i=1;i<=n;i++)

    {

        scanf("%s",s[i]);

        printf("%s\n",s[i]);

    }



for(int i=1;i<=n;i++)

    {

       gets(s[i]);

       puts(s[i]);

    }



for(int i=1;i<=n;i++)

    {

       c=getchar();

        putchar(c);

    }



这时候可以发现问题,n=2但只输入了一个就结束了程序,这就是getchar读入回车造成的结果,如果忽略了程序会出错
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  字符处理