0

おそらく明らかな問題であることはわかっていますが、CI に非常に慣れていないため、質問する必要がありました。

これは私のコードです:

#include <stdio.h>
#define ASIZE 8
int main()

{
    int index;

    long int numbers[ASIZE];

    printf("enter 8 integers to be printed in reverse order:\n");

    for (index = 0; index < ASIZE; index++)

    {
        scanf("%li", &numbers[index]);
    }

    printf("indexing is done!");

}

「for」ループを終了して「indexing is done!」と出力しないのはなぜですか。?

4

3 に答える 3

1

あなたは本当に C に慣れていません! とにかく、明確にするために、あなたのコードは完全に問題ありません。1 2 3 4 5 6 7 8 のように数字を入力してください

それ自体が1つの整数であるため、12345678とは異なります。乾杯!

于 2013-01-24T20:33:25.250 に答える
1

scanf入力を空白で区切る必要があります。入力12345678はループを 1 周するだけです。

于 2013-01-24T19:28:15.883 に答える
1

これは、スペース、エンター、タブ区切りの入力を入力した場合に機能します/機能するはずです。たとえば 82341679 を 8 つの数字として入力している場合、これらは 8 つの入力ではなく、1 つの入力にすぎません。

于 2013-01-24T19:30:08.593 に答える