gpt4 book ai didi

c - 为什么当我们输入 8 和 11 时结果 "eightnine"在一起?

转载 作者:行者123 更新时间:2023-12-04 12:27:26 25 4
gpt4 key购买 nike

当我用输入 8 和 11 运行我的代码时,输​​出是

eightnine
odd
even
odd

我期望的结果是:

eight
nine
odd
even

为什么 eightnine 出现在同一行?循环有问题吗?

#include <stdio.h>
#include <string.h>

int main() {
int a, b;

scanf("%d\n%d", &a, &b);

char list[11][5]={"one","two","three","four","five","six","seven","eight","nine","even","odd"};
int i;
for (i=a;i<=b;i++)
{
printf("%s \n",(i<9?list[i-1]:list[9+i%2]));
}

return 0;
}

最佳答案

您需要 char list[11][6],即您需要为 5 个字符的单词的 NUL(终止 C 风格字符串的 0)留出空间。

尽管如此,我更愿意

char* list[] ={"one","two","three","four","five","six","seven","eight","nine","even","odd"};

所有这些问题都会消失。让编译器进行计数!

关于c - 为什么当我们输入 8 和 11 时结果 "eightnine"在一起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57907770/

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