我试图解决站点上的编程问题。它说检查单词是否是回文。如果是,则打印“是”,如果不是,则打印“否”。我已经快做完了,但是有一个问题。我无法存储数组的反向字符串的输出。

我尝试了很多方法来做。但我失败了

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

int main(){

    int i,len;
    char mainword[100], reverseword[100];

    scanf("%s",mainword);

    len = strlen(mainword);

    strcpy(reverseword,mainword);

    for(i=len; i>=0; i--){
        printf("%c",reverseword[i]);
              // I just need here to save the output without printing it. So, that later I can compare it.

    }

    if(strcmp(reverseword,mainword)==0){
        printf("\nYes");
    }
    else{
        printf("\nNo");
    }
}


我希望它将存储字符串值。

最佳答案

您可以尝试以下方法:

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

int main(){

    int i,len,j=0;
    char mainword[100], reverseword[100];

    scanf("%s",mainword);

    len = strlen(mainword);

    for(i=len; i>=0; i--){
        reverseword[j] = mainword[i-1];
        j++;
    }

    reverseword[j] = '\0';

    if(strcmp(reverseword,mainword)==0){
        printf("\nYes");
    }
    else{
        printf("\nNo");
    }
}

关于c - 如何在不打印的情况下从循环存储数组的输出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58254653/

10-15 00:35