由于scanf函数遇到空格后就停止输入,如需要输入一句话的话,要尝试其他的函数例如gets()函数。
原型函数为char *gets(char*buffer),返回一个指向char的指针,返回的指针与传递给他的指针是同一个指针。
例子:
char name[20];
gets(name);
printf(“%s”,name);
此时在控制界面中输入hello world,输出将会是hello world。
上例同时也可以写成:
char name[20];
char *ptr;
ptr=gets(name);
printf(“%s”,name);
printf(“%s”,ptr);
此时两句话输出的都是hello world,从而证明ptr的指针就是赋给gets函数的指针。但是gets()函数有一个缺点,当输入的字符串的长度大于申请的空间时,会造成空间越界,此时在函数执行结束释放空间时会报错。
扩展资料
1、输出字符串的效果,宽度和精度同样也适用于字符串。
3、put是需要遇到’\0’才会输出的,因此通过字符串数组遍历赋值时,不要忘记加’\0’。