Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何反转一个字符数组,然后将反转后的字符数组存储到另一个数组?_C_Arrays_String_Reverse - Fatal编程技术网

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

C 如何反转一个字符数组,然后将反转后的字符数组存储到另一个数组?,c,arrays,string,reverse,C,Arrays,String,Reverse,我一直在研究这个非常简单的问题。我试图反转一个字符数组,然后使用c语言将这个反转的字符数组存储到另一个数组中。这是我的代码,我想不出我的代码有什么问题。我真的不明白为什么当我试图打印出我的stcp时,屏幕上什么也没有显示,stcp是带有反向字符串的数组。请提供建议,任何帮助都将不胜感激 #include<stdio.h> int main() { char st[100]; scanf("%s", st); int count = 0; while(

我一直在研究这个非常简单的问题。我试图反转一个字符数组,然后使用c语言将这个反转的字符数组存储到另一个数组中。这是我的代码,我想不出我的代码有什么问题。我真的不明白为什么当我试图打印出我的stcp时,屏幕上什么也没有显示,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;
}
#包括
int main(){
char-st[100];
scanf(“%s”,st);
整数计数=0;
而(st[count]!='\0'){
计数++;
}
//printf(“%s”,st);
char-stcp[100];
int i,j=0;
对于(i=count-1;i>=0;i--){
st[i]=stcp[j];
j++;
}
看跌期权(stcp);
返回0;
}

我想你的意思是

char stcp[100];
int i = count, j = 0;

while ( i != 0 ) stcp[j++] = st[--i];
stcp[j] = '\0';
对于原始代码,则必须在该语句中交换操作数

   st[i] = stcp[j];
字符串
stcp
必须附加终止零

考虑到main函数应该像C一样定义

int main( void )

至于我,我会将变量
count
I
j
声明为具有类型
size\u t

我想你的意思是

char stcp[100];
int i = count, j = 0;

while ( i != 0 ) stcp[j++] = st[--i];
stcp[j] = '\0';
对于原始代码,则必须在该语句中交换操作数

   st[i] = stcp[j];
字符串
stcp
必须附加终止零

考虑到main函数应该像C一样定义

int main( void )

至于我,我会将变量
count
I
j
声明为具有类型
size\u t

您需要切换此线路:

st[i] = stcp[j];
为此:

stcp[j] = st[i];

您需要切换此线路:

st[i] = stcp[j];
为此:

stcp[j] = st[i];

如果是
C
,那么你不应该把你的问题标记为
C++
,因为在
C++
中,你所要做的就是调用
std::reverse
st[i]=stcp[j]-->
stcp[j]=st[i]<代码>stcp[j]=0次要:使用
size\u t count
int count
更好,如果是
C
,那么你不应该把你的问题标记为
C++
,因为在
C++
中,你所要做的就是调用
std::reverse
st[i]=stcp[j]-->
stcp[j]=st[i]<代码>stcp[j]=0次要:使用
size\u t count
int count