我想使用
这是我的代码:
注:本文涉及IT技术相关内容。
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
时,程序就结束了。我不知道为什么?
注:本文涉及IT技术相关内容。
a
为char
指针并使用scanf(" %c", a + 3 * i + j);
。在%c
前加一个空格是有意的。还要将printf("%d ", a[3*i+j]);
更改为printf("%c ", a[3*i+j]);
。(我假设输入中只使用一位数字)。 - haccks