繁体   English   中英

关于程序输出的困惑

[英]Confusion about output of program

我是C编程新手,目前正在学习循环。 在下面的程序中

#include<stdio.h>
main()
{

    int i;

    for(i=1;i++<=5;printf("%d",i));

}

我试图在dev c ++编译器中进行编译,但给出错误“ [Error] ld返回了1个退出状态”

您需要包括<stdio.h>标头,并且main还需要一个返回类型(int)和一个返回值。 将程序更改为此将使其编译(至少使用GCC进行过编译)并运行:

#include <stdio.h>
int main(int argc, char *argv[])
{

    int i;

    for(i=1;i++<=5;printf("%d",i));

    return 0;
}

您在“%d”中使用的引号也是非法的,请使用普通引号: "%d"

除此之外,在循环头内执行printf可能是合法的,但这是非常糟糕的样式。 通常在for循环中,您将在头中具有初始化; condition; increment(或减量或w / e) ,并在语句主体中产生副作用。

我会尝试将for循环编写为:

for(i=1;i < 6;i++) { printf(“%d”,i); }
  1. 我已经在笔记本上手动运行了该程序,并且输出为23456
  2. 然后我在Dev c ++上运行它,它给出了相同的输出23456,没有任何错误,我刚刚从ur问题中复制并粘贴了问题,不知道为什么它在ur运行时显示错误是因为您没有将其保存为C文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM