关于程序输出的困惑

时间:2014-03-16 10:39:41

标签: c

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

#include<stdio.h>
main()
{

    int i;

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

}

我尝试在dev c ++编译器中编译,但它给出错误&#34; [错误] ld返回1退出状态&#34;

3 个答案:

答案 0 :(得分: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循环中你会有初始化;条件;在头部增加(或减少或w / e),并在语句的正文中做副作用。

答案 1 :(得分:0)

我会尝试将for循环写为:

for(i=1;i < 6;i++) { printf(“%d”,i); }

答案 2 :(得分:0)

  1. 我在笔记本上手动运行了这个程序,得到了输出23456
  2. 然后我在Dev c ++上运行它并且它给出相同的输出23456没有任何错误我刚从你的问题复制和粘贴dun知道为什么它在你的运行时显示错误可能你没有保存它作为C文件