如何反转一个字符数组,然后将反转的char数组存储到另一个数组?

时间:2015-07-06 22:16:50

标签: c arrays string reverse

我一直在研究这个非常简单的问题。我试图反转一个字符数组,然后使用c语言将这个反转的字符数组存储到另一个数组中。这是我的代码,我无法弄清楚我的代码有什么问题。我真的不明白为什么当我尝试打印我的stcp,这是带有反向字符串的数组时,屏幕上没有显示任何内容。请指教,任何帮助都会非常感激。

#include<stdio.h>

int main() {
    char st[100];
    scanf("%s", st);
    int count = 0;
    while(st[count] != '\0'){
        count++;
    }

    //printf("%s", st);
    char stcp[100];
    int i, j = 0;
    for(i = count-1; i >= 0; i--){
        st[i] = stcp[j];
        j++;
    }

    puts(stcp);
    return 0;
}

2 个答案:

答案 0 :(得分:4)

我认为你的意思是以下

   st[i] = stcp[j];

至于您的原始代码,您必须在此声明中交换操作数

stcp

和字符串int main( void ) 必须附加终止零。

考虑到函数main应该在C中定义,如

count

至于我,我会将变量ijsize_t声明为类型canvas.onclick = function (evt) { var points = chart.getPointsAtEvent(evt); alert(chart.datasets[0].points.indexOf(points[0])); };

答案 1 :(得分:0)

您需要切换此行:

st[i] = stcp[j];

对此:

stcp[j] = st[i];