简单的程序没有在c中执行

时间:2011-11-20 10:15:56

标签: c runtime syntax-error

#include<stdio.h>
main()
{
    int i, int a[5]={1,2,48,3,88};
    for(i=0;i<4;i++)
    {
        if (a[i]<a[i+1])
        {
            printf("%d",a[i]);
        }
        else
        {
            printf("can't print");
        }
    }
}

程序根本没有执行。我的目的是在当前数字小于下一个数字时打印数字。它应该打印否则会打印无法打印。

2 个答案:

答案 0 :(得分:4)

在当前版本的C中,您应指定main的返回类型,返回类型必须为int。我还建议指定参数列表。

int main(void)

如果你想要ia(我推荐)的单独声明,那么你需要使用分号来分隔它们,如果你想要一个声明(我不建议) )你需要省略第二个int

int i; int a[5]={1,2,48,3,88};

int i, a[5]={1,2,48,3,88};

您的printf字符串应以\n结尾,以确保它们在预期的位置输出:

printf("%d\n",a[i]);

printf("can't print\n");

答案 1 :(得分:0)

在每个printf中放置终止换行符\n,例如printf("can't print\n");或致电fflush(NULL)

您的声明应分隔为

int i;
int a[5]={1,2,48,3,88};

请适当缩进您的C代码(在Linux上,indent实用程序可以提供帮助)。

不要忘记使用警告和调试信息编译程序(例如Linux上的gcc -Wall -g myprog.c -o myprog