我想使用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