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)