为什么不是';这不是';对于循环';退出?C
我是C语言的初学者,我只是想知道为什么这个“for循环”不存在:为什么不是';这不是';对于循环';退出?C,c,loops,for-loop,C,Loops,For Loop,我是C语言的初学者,我只是想知道为什么这个“for循环”不存在: int main() { FILE *openfile; int notenumber; openfile = fopen("test.txt", "w"); if (openfile == NULL) { printf("Error opening file\n"); } else {
int main()
{
FILE *openfile;
int notenumber;
openfile = fopen("test.txt", "w");
if (openfile == NULL)
{
printf("Error opening file\n");
}
else
{
for (notenumber=1; notenumber<=16; notenumber++)
{
notenumber = aserveGetNote();
fprintf(openfile, "Notenumber = %d\n", notenumber);
}
}
fclose(openfile);
return 0;
}
intmain()
{
文件*openfile;
整数;
openfile=fopen(“test.txt”、“w”);
if(openfile==NULL)
{
printf(“打开文件时出错”);
}
其他的
{
for(notenumber=1;notenumberaserveGetNote()
将notenumber
的值更改为16以下的值,因此循环永远不会以notenumberaserveGetNote()的形式退出,因为notenumber
将notenumber
的值更改为16以下的值,因此循环永远不会以notenumber的形式退出
将notenumber
的值更改为低于16的值,因此循环永远不会以notenumberaserveGetNote()的形式退出。
将notenumber
的值更改为低于16的值,因此循环永远不会以notenumber=aserveGetNote()的形式退出;
:ifaserveGetNote()
始终返回低于16的值,无法完成for
循环
试一试
for(notenumber=1;notenumbernotenumber=aserveGetNote();
:如果aserveGetNote()
始终返回低于16的值,则无法完成for
循环
试一试
for(notenumber=1;notenumbernotenumber=aserveGetNote();
:如果aserveGetNote()
始终返回低于16的值,则无法完成for
循环
试一试
for(notenumber=1;notenumbernotenumber=aserveGetNote();
:如果aserveGetNote()
始终返回低于16的值,则无法完成for
循环
试一试
用于(notenumber=1;notenumber问题已经得到回答。还有一个提示:您在fopen
之后检查NULL
。但是如果您得到NULL
并调用fclose
,会发生什么情况?在我的机器上,我得到一个分段错误。问题已经得到回答。还有一个提示:您在之后检查de>fopen
用于NULL
。但是如果您得到NULL
并调用fclose
,会发生什么情况?在我的机器上,我得到了一个分段错误。问题已经得到了回答。还有一个提示:您确实要在fopen
之后检查NULL
。但是如果您得到NULL
会发生什么情况调用fclose
?在我的机器上,我得到了一个分段错误。问题已经得到了回答。还有一个提示:你在fopen
之后检查NULL
。但是如果你得到NULL
并调用fclose
,我的机器上会出现分段错误。这是因为notenumber=aserveGetNote();
将变量名称更改为其他名称notenumber=aserveGetNote();
:如果`aserveGetNote()`始终返回低于16的值,则无法完成for
循环的操作。不应在NULL
指针上调用fclose()
,这是未定义的行为,请移动fclose()
到else
块。if
不是循环。循环,而if
不是。这是因为notenumber=aserveGetNote();
将变量名更改为其他notenumber=aserveGetNote();
:if`aserveGetNote()`始终返回低于16的值,无法完成for
循环。不应在NULL
指针上调用fclose()
,这是未定义的行为,请移动fclose()
到else
块。if
不是循环。循环,而if
不是。这是因为notenumber=aserveGetNote();
将变量名更改为其他notenumber=aserveGetNote();
:if`aserveGetNote()`始终返回低于16的值,无法完成for
循环。不应在NULL
指针上调用fclose()
,这是未定义的行为,请移动fclose()
到else
块。if
不是循环。循环,而if
不是。这是因为notenumber=aserveGetNote();
将变量名更改为其他notenumber=aserveGetNote();
:if`aserveGetNote()`始终返回低于16的值,for
的循环无法完成。不应在NULL
指针上调用fclose()
,这是未定义的行为,请将fclose()
移动到else
块。如果不是循环。循环,而如果不是循环。
int test=aserveGetNote();
fprintf(openfile, "Notenumber = %d\n", test);
// or fprintf(openfile, "Notenumber = %d\n", notenumber); as I don't know which value do you want to store
for (notenumber=1; notenumber<=16; notenumber++)
{
int note = aserveGetNote();
fprintf(openfile, "Note = %d Notenumber %d\n", note,notenumber);
}