scanf EOF和循环
这是一个学校任务,但我无法让我的循环工作。当EOF输入时,我们必须使用scanf并终止循环。这是代码的一部分,这是问题:scanf EOF和循环
{int main(void){
char str[MAX];
while(scanf("%s", str) != EOF)
{
printf("\nEnter a String: ");
scanf("%s", str);
two_ele_subs(str);
}
return 0;
}
回答:
的sscanf的返回读取变量的数目,你的情况是只有一个,或EOF(即:1)在文件末尾的情况下, 。所以我建议你使用不同的方法,如下所示:
#include <stdio.h> #define MAX 100
int main(void){
char str[MAX];
int retVal;
printf("\nEnter a String: ");
while((retVal = scanf("%s", str)) == 1 || retVal != EOF)
{
printf("\nEnter a String: ");
two_ele_subs(str);
}
return 0;
}
以上是 scanf EOF和循环 的全部内容, 来源链接: utcz.com/qa/265881.html