计算机C语言,文件,while循环,死循环了求助

第二个while循环成了死循环,出不来,求助错在哪儿?怎么改?文件是录入成功的,所以第一个fopen到发fclose应该都没问题,第二个while出不来,是检测不到文件结... 第二个while循环成了死循环,出不来,求助错在哪儿?怎么改? 文件是录入成功的,所以第一个fopen到发fclose应该都没问题,第二个while出不来,是检测不到文件结束吗?为什么?
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main() {
FILE *fp;
if((fp=fopen("F:\\study\\unit10\\text3.txt","w"))==NULL){
printf("can not open the file.");
exit(0);
}
char str[20],c;
int flag=1;
while(flag==1) {
printf("input string:\n");
gets(str);
fprintf(fp,"%s",str);
printf("continue?");
c=getchar();
if((c=='N')||(c=='n')) flag=0;
getchar();
}
fclose(fp);
fp=fopen("F:\\study\\unit10\\text3.txt","r");
//fgets(str,3,fp);
//puts(str);
while(fscanf(fp,"%s",str)!=EOF){
for(int i=0;str[i]!='0';i++)
if((str[i]>='a')&&(str[i]<='z'))
str[i]-=32;
puts(str);

}

fclose(fp);
return 0;

}
展开
 我来答
ao...5@sohu.com
2018-05-24 · TA获得超过224个赞
知道小有建树答主
回答量:165
采纳率:0%
帮助的人:21.3万
展开全部
while的语法为
while(表达式)

。。。

当表达式不为0的时候,则会执行下面语句体里面的语句
直到表达式为0才会停止
while语句一般用在死循环里面
所以常规的用法是while(1)
如果要指定循环次数,更多的是用for语句。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式