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

字符串读入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读入回车造成的结果,如果忽略了程序会出错


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值