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)