gpt4 book ai didi

c - 回文程序中的数组

转载 作者:太空宇宙 更新时间:2023-11-04 04:47:29 25 4
gpt4 key购买 nike

所以我做了一个程序,我必须输入一个单词,它会显示它是否是回文(一个单词在两种情况下都相同)。

#include <stdio.h>
#include <string.h>
int main(int argc, const char * argv[]){
char word;
int length, counter;

printf("Please enter a word: ");
scanf("%c", &word);

int flag = 1;

for (counter = 0; counter < length && flag; counter++) {
printf("%c\t %c", word[counter], word[length - counter])
if (word[counter] == word[length - counter - 1]){
flag = 0;
}
}
if (flag) {
printf("%c is a palindrome!", word);
}
else {
printf("%c is NOT a palindrome!", word);
}
}

我将其设置为并排显示每个字母。如果一个字母不相同,那么标志被“抛出”(设置为 0),这将结束程序说:“单词不是回文!”

我在它说 word[counter] 的部分出错,说它不是下标值。我该怎么做才能完成这项工作?还有什么我做错了吗?

最佳答案

这个 char word; 不是数组。此 char word[100]; 是一个数组。您还可以使用 scanf("%c", &word); 读取单个字符,而不是单词(如在字符串或一系列字符中)。使用:

fgets (word , 100 , stdin) 

另外length没有初始化,所以会导致UB。

关于c - 回文程序中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19520008/

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