#include <string.h>
#include <stdio.h>
main()
{char a[100];
gets(a);
printf("%s\n",a);
}
gets()函数用来从标准输入设备(键盘)读取
字符串直到
换行符结束,但换行符会被丢弃,然后在末尾添加'\0'字符。其调用格式为: gets(s); 其中s为字符串变量(字符串数组名或字符串指针)。 gets(s)函数与scanf("%s:",&s)/* scanf("%s",s) */相似,但不完全相同,使用scanf("%s",&s);函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到遇到换行为止。
要函数就这样:
#include <string.h>
#include <stdio.h>
void sr(char *a)
{ gets(a);
}
main()
{char a[100];
sr(a);
printf("%s\n",a);
}
哦哦O(∩_∩)O^_^
追问我要循环输入字符串,使用gets(),前面输入的字符串循环一次之后,不会自动清空。如果再次输入的字符串比前次输入的更短,不能全部覆盖。所以我想调用函数来输入字符串。怎样就可以自动清空。
追答利用gets()输入,你可以输入下,系统自动加\0,没有覆盖也输出不了啊,应该是可以的,不行你定义2个数组,strcpy(a, b),这样就可以了吧