我已經編寫了以下代碼來反轉字符串。但它給出了一些錯誤。它在調用reverseStr()
函數後卡住了。我無法找到該錯誤。有人能幫我嗎?在C程序中查找錯誤以反轉字符串
#include <stdio.h>
#include <stdlib.h>
char * reverseStr(char *str){
int i,len = 0;
while(str[len]!=NULL){
len++;
}
len-=1;char temp;
for(i=0;i<len/2;i++){
//printf("%d %d %s\n",i,len,str);
temp = str[len-i];
str[len-i]=str[i];
str[i]=temp;
//printf("%d %d %s\n",i,len,str);
}
return str;
}
int main(void) {
char *str = "abcdefg";
printf("Original :: %s\n",str);
str = reverseStr(str);
printf("Reversed :: %s",str);
return 0;
}
使用您的調試器! – 2014-10-28 03:56:07
編譯所有警告和調試信息('gcc -Wall -Wextra -g')。然後**使用調試器**('gdb') – 2014-10-28 03:56:10
@ mav3n如果您取消註釋'for'循環中的'printf',它們是否打印出任何內容? – SSC 2014-10-28 04:09:29