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

回到顶部