C语言中scanf()函数注意事项
程序流程:输入一个字符数组的个数 i,打印出 i 的值然后使用动态分配内存,malloc(i+1)多分配一个字节空间留给结束符’\0’,内存分配成功后给字符数组ch[ ]逐个赋值,注意:使用scanf()函数输入时,按下回车键结束输入,回车键会影响下面程序的正常输入输出(ch[0]输出回车)。接受字符ch前面有scanf语句时,scanf的回车在缓冲区里,此时应使用getchar()吃掉回车。
例子:输入3,赋值字符数组a,b,c
输出该数组:ch = abc
1、不使用getchar(),不吃掉回车的输出结果如下图:
2、使用getchar(),吃掉回车的输出结果如下图: