c言語についての質問です。

ベストアンサー

0

その他の回答(1件)

0

こうします。 #define _CRT_SECURE_NO_WARNINGS // Visual Studio only #include <stdio.h> int main(void) {     int a[100];     char buf[100];     printf("data > "); // fgetsは最大第二引数-1個の文字を読み込みます。改行文字も格納します。 // https://ja.cppreference.com/w/c/io/fgets     fgets(buf, sizeof buf, stdin);     int N = 0; // データの個数     int val;   // データの値     char *p = buf; // %nはそれまでに読み込んだ文字数を返します(今回はcへ)。 // https://ja.cppreference.com/w/c/io/fscanf // 今回sscanfは整数の読み取りに成功したときは1を返します。     for (int c; sscanf(p, "%d%n", &val, &c) > 0; p += c)         a[N++] = val;     for (int i = 0; i < N; ++i)         printf(" %d", a[i]);     printf("\n"); }