Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么不是';这不是';对于循环';退出?C_C_Loops_For Loop - Fatal编程技术网

为什么不是';这不是';对于循环';退出?C

为什么不是';这不是';对于循环';退出?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 {

我是C语言的初学者,我只是想知道为什么这个“for循环”不存在:

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;notenumber
aserveGetNote()
notenumber
的值更改为16以下的值,因此循环永远不会以
notenumber
aserveGetNote()的形式退出,因为
notenumber
notenumber
的值更改为16以下的值,因此循环永远不会以
notenumber的形式退出
notenumber
的值更改为低于16的值,因此循环永远不会以
notenumber
aserveGetNote()的形式退出。
notenumber
的值更改为低于16的值,因此循环永远不会以
notenumber=aserveGetNote()的形式退出;
:if
aserveGetNote()
始终返回低于16的值,无法完成
for
循环

试一试


for(notenumber=1;notenumber
notenumber=aserveGetNote();
:如果
aserveGetNote()
始终返回低于16的值,则无法完成
for
循环

试一试


for(notenumber=1;notenumber
notenumber=aserveGetNote();
:如果
aserveGetNote()
始终返回低于16的值,则无法完成
for
循环

试一试


for(notenumber=1;notenumber
notenumber=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);         
        }