簡體   English   中英

錯誤:僅在c99模式下允許'for'循環初始聲明

[英]Error: 'for' loop initial declarations are only allowed in c99 mode

我有這個問題,我只能使用gcc -std = c99進行編譯,但是我需要使用c89 aka gcc -Wall進行編譯。 這是我使用“ for”循環的代碼的一部分。 請事先查看是否可以幫助我。

#include<stdio.h>
int main()
{
    int arr[100],i=0,ch;
    int n = 1, sum = 0;
    printf("Check out our selection! \n");
    printf("Airhead - 25 cents\n");
    printf("Fun Dip - 40 cents\n");
    printf("Gummi Bears - 20 cents\n");
    while (n != 0)
    {
        printf("Insert Coins: ");
        scanf("%d",&n);
        arr[i++] = n;
    }

    for(int j=0;j<i;j++)
    {   sum = sum + arr[j];
    }
......

這是錯誤的:

for (int j = 0; j < i; j++) {
    sum = sum + arr[j];
}

您必須在函數開始處初始化j

 int main() {
    int j;
    ...
    for (j = 0; j < i; j++) {
        sum = sum + arr[j];
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM