我创建了一个程序,在其中声明了两个char类型的数组。一个会存储字符串,另一个会存储反转的字符串。但是当我打印第二个数组时,它会显示一些意外结果。
#include<stdio.h>
main(){
char a[] = "Sahib";
char b[5];
int i = 0;
int j,k = 0;
char c='a';
while(c!='\0'){
c = a[i];
i++;
}
i -= 2;
for(j=i;j<=0;j--){
b[k] = a[j];
k++;
}
printf("The reversed character is %s",b);
}
最佳答案
尝试这个:
#include <stdio.h>
int main(void){
char a[] = "Sahib";
char b[sizeof a];
int i = 0;
int j,k = 0;
char c;
while((c = a[i]) != '\0'){
i++;
}
for(j = --i; j>=0; --j){
b[k++] = a[j];
}
b[k] = '\0';
printf("The reversed character is %s\n", b);
return 0;
}
关于c - 打印字符串时出现意外结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37090226/