09/06/13 02:23:43
>>955
isdigitは、あるcharの1字が'0'から'9'までの数字に分類される文字かどうかを判定するだけ。
数値であるかどうかの判定とは違う。
a[i]に値が入るのはsscanf_sの時点。
そのsscanf_sは代入できたデータの数を戻り値にする。見るべきはこれ。
for (i = 0; i < 10; i++) {
do {
printf("%d個目の整数です。\n", i + 1);
fgets(buf, 10, stdin);
} while (sscanf_s(buf, "%d", &a[i]) != 1);
}