使用"while"检查是否有空行 C
Use "while" to check if there is a blank line C
代码是检查是否有空行。我想当我输入一些文本时,它会继续执行 printf(),因为它卡在了循环中。但实际上,它只执行一次 printf(),然后等待另一行文本。为什么?是不是因为gets()函数后input会被擦除?
这是代码
int main(){
char input[257];
char *ptr;
puts("Enter text a line at a time, then press Enter");
puts("Enter a blank line when done");
while( *(ptr= gets(input)) != NULL){
printf("You've entered: %s\n", input);
}
puts("Thank you and goodbye\n");
return 0;
}
这段时间应该可以解决问题
while( (ptr= gets(input)) != NULL && input[0]!='[=10=]')
代码是检查是否有空行。我想当我输入一些文本时,它会继续执行 printf(),因为它卡在了循环中。但实际上,它只执行一次 printf(),然后等待另一行文本。为什么?是不是因为gets()函数后input会被擦除?
这是代码
int main(){
char input[257];
char *ptr;
puts("Enter text a line at a time, then press Enter");
puts("Enter a blank line when done");
while( *(ptr= gets(input)) != NULL){
printf("You've entered: %s\n", input);
}
puts("Thank you and goodbye\n");
return 0;
}
这段时间应该可以解决问题
while( (ptr= gets(input)) != NULL && input[0]!='[=10=]')