我不知道这段代码有什么问题,我只是在这里得到一个随机结果:
#include <stdio.h>
#include <conio.h>
int main() {
char arr[3][2] = {{'z','a'},{'e','r'},{'x','v'}};
int i;
scanf("%d",&i);
printf("%c",*(arr+i));
getch();
}
谢谢
最佳答案
首先不清楚你想做什么。 我只能建议更改声明
printf("%c",*(arr+i));
下面的方法
printf("%c",**(arr+i));
在这种情况下,如果 i 在 0 - 2 范围内,则此语句将输出相应行的第一个字符。例如,对于 i 等于 tp 1,输出将为
e
如果你想使用 i 作为索引输出数组中的任何字符,那么使用
printf("%c", *( *arr + i ));
或者
for ( int i = 0; i < 6; i++ ) printf("%c", *( *arr + i ));
关于c - 指向多维数组的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22622924/