当需要循环输入字符串进行处理,同时不知道输入字符串何时终止,所以要判断输入的是否时空行。一开始我想用scanf("%s", str);输入字符串,但是发现当不输入字符直接回车时,scanf()根本不接受,还会一直要你进行输入。后来使用了gets()方法才解决掉这个问题。
可以用以下的方法:
方法一:
当gets()函数没有接受到输入时,它会给字符串一个‘\0’在最前方,
#include <stdio.h>
int main()
{
char str[20];
while(1)
{
gets(str);
if(*str == '\0')
return 1;
printf("%s\n", str);
}
return 0;
}
方法二:
#include <stdio.h>
#include <string.h>
int main()
{
char str[20];
while(1)
{
gets(str);
if(strcmp(str, "") == 0)
return 1;
printf("%s\n", str);
}
return 0;
}