推介:| Web Hosting | 外賣系統 | Server colocation | Web Shop System | Makeup course |

查看完整版本: 字串反轉傳回值的問題

fmsh 2007-1-9 01:28

字串反轉傳回值的問題

大家好..
我用turbo c寫了一個字串反轉的問題..
可是傳回來的值都是空字串..
想請問哪裡有問題..
另外..
想請問有更好的寫法嗎??
謝謝..

char *strrev(char *str1,char *str2)
{
int i,j;
for (i=0;str1[i]!='\0';i++);
for (j=i;j>=0;j++)
    str2[i-j]=str[j];
return str2;
}
void main()
{
char string1[10],string2[10];
int i;
printf("enter string1");
gets(string1);
strrev(string1,string2);
printf("string2=%s",string2);
}

jayzhou_2046 2007-1-9 09:22

小弟發現
你的程式編譯有問題啊!

jayzhou_2046 2007-1-9 09:31

小弟改寫的strrev如下:
[quote]
char *strrev(char *str1, char *str2) {
        int        i;
        int        len = 0;
       
        for (i = 0; str1[i] != '\0'; i++)
                len++;
               
        for (i = 0; str1[i] != '\0'; i++) {
                str2[len - i - 1] = str1[i];
        }
        str2[i] = '\0';
        return str2;
}
[/quote]

注意第一個for loop旨在找str1的長度.
可以直接用strlen()  (<-- 定義在string.h)
頁: [1]
查看完整版本: 字串反轉傳回值的問題