我想使用scanf()
爲下表閱讀:爲什麼scanf無法讀取我的輸入?
Q 1 3
U 2 6
Q 2 5
U 4 8
這是我的代碼:
#include <stdio.h>
#include <stdlib.h>
void main() {
int *a;
int i, j;
a = (int *) malloc(4 * 3 *sizeof(int));
printf("input:\n");
for (i = 0; i < 4; i++) {
for (j = 0; j < 3; j++) {
scanf("%d", a + 3 * i + j);
}
}
printf("output:\n");
for (i = 0; i < 4; i++) {
for (j = 0; j < 3; j++) {
printf("%d ", a[3*i+j]);
}
printf("\n");
}
}
然而,當我輸入的第一行Q 1 3
,該程序結束。我不知道爲什麼?
申報'A'如'char'指針和使用'的scanf( 「%C」,一個+ 3 * I + J);'。 '%c'之前的空格是有意的。還要將'printf(「%d」,a [3 * i + j]);'改爲'printf(「%c」,a [3 * i + j]);'。 (我假設在輸入中只使用一個數字號碼)。 – haccks
請不要張貼動畫GIF。如果您完全沒有發佈圖片,最好將複製/粘貼到問題中並將其標記爲代碼。 – Barmar