例:
void test7()
{
char str1[80]
char str2[80]
printf("please input aany 2 sentence:\n")
gets(str1)
scanf("%s",str2)
printf("string1 is:%s\n",str1)
printf("string2 is:%s",str2)
}
int _tmain(int argc, _TCHAR* argv[])
{
test7()
return 0
}
输入:hello world
hello world
执行结果为:string1 is:hello world
string2 is :hello
在前面从键盘输入字符串是使用 scanf 和 %s。其实还有更简单的方法,即使用 gets() 函数。该函数的原型为:
# include <stdio.h>
char *gets(char *str)
这个函数很简单,只有一个参数。参数类型为 char* 型,即 str 可以是一个字符指针变量名,也可以是一个字符数组名。gets() 函数的功能是从输入缓冲区中读取一个字符串存储到字符指针变量 str 所指向的内存空间。
下面将前面中使用 scanf 输入字符串的程序改一下:
# include <stdio.h>
int main(void)
{
char str[20] = "\0" //字符数组初始化\0
printf("请输入字符串:")
gets(str)
printf("%s\n", str)
return 0
}
输出结果是:
请输入字符串:i love you
i love you
扩展资料:
从stdin流中读取字符串,直至接受到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为‘\0’空字符,并由此来结束字符串。
读入成功,返回与参数buffer相同的指针;
读入过程中遇到EOF(End-of-File)或发生错误,返回NULL指针。所以在遇到返回值为NULL的情况,要用ferror或feof函数检查是发生错误还是遇到EOF。
参考资料来源:百度百科-gets
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)