gpt4 book ai didi

c - 二维字符数组中字符的额外打印

转载 作者:行者123 更新时间:2023-12-01 21:23:14 25 4
gpt4 key购买 nike

我正在尝试使用这段代码依次打印出 2d char 数组的每个元素:

#include <stdio.h>
#include <stdlib.h>
char positions[3][3] = {'A', 'B', 'C', 'D', 'E', 'F','G', 'H', 'I'};
int main(){
for(int i = 0; i < 3; i++){
for(int j = 0; j < 3; j++){
printf("%s \n", &positions[i][j]);
}
}
return 0;
}

但是输出是:

ABCDEFGHI 
BCDEFGHI
CDEFGHI
DEFGHI
EFGHI
FGHI
GHI
HI
I

代替:

A
B
C
D
E
F
G
H
I

而且我不知道如何修复它。我环顾四周,未能找到这个特定问题的任何答案。任何建议都会很棒。谢谢。

最佳答案

您的 printf 确实采用 %s,这会强制将 char 数组转换为从第一个条目开始的字符串。尝试运行

printf("%c \n", positions[i][j]);

打印出字符。看看会发生什么;)

问候

关于c - 二维字符数组中字符的额外打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63542569/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com