gpt4 book ai didi

c - C 中的二维字符串

转载 作者:行者123 更新时间:2023-11-30 20:11:15 24 4
gpt4 key购买 nike

几周前我刚刚开始学习C,通过阅读一本关于C的书。每章最后都有一些练习,其中有一个练习我无法弄清楚为什么我的代码不起作用。任务是从用户那里获取一些字符串,这些字符串将输入一个二维数组。然后,向后打印每个字符串。

例如,

用户将输入以下单词:sleephellogreat

输出将为:peelsollehtaerg

它必须是一个二维数组(这就是本章的内容)。

这是我的代码:

#include <stdio.h>

int main()

{
char string[5][6];
int i, j;

for(i=0; i<5; i++)
{
printf("please enter a string:\n");
scanf("%s", &string[i]);
}

printf("\n");

for(i=0; i<5; i++)
{
for(j=6; j<=0; j--)
{
printf("%c", string[i][j]);
}
printf("\n");
j=6;

}

return 0;

}

提前谢谢您!

最佳答案

%s 需要一个 char *,您发送一个 char (*)[6]

scanf("%s", &string[i]); => scanf("%5s", string[i]);

您的 for 循环与 j 是错误的,您打印了 nul 终止字节。您应该使用 while 循环,这种情况在 C 中更惯用。

for (i = 0; i < 5; i++) {
j = 5;
while (j-- > 0) {
printf("%c", string[i][j]);
}
printf("\n");
}

关于c - C 中的二维字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41483472/

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