我刷新了我的C知識,並且碰巧跨越此程序以反轉字符串。我有一種感覺,最後反轉字符串的最後一個字符應該被賦值爲'\ 0'值,否則它可能有一個垃圾值。你能否告訴我這段代碼是否正確或需要修改?提前致謝!使用while循環反轉c中的字符串
#include<stdio.h>
#include<string.h>
void main()
{
char str[100],temp;
int i,j=0;
printf("nEnter the string :");
gets(str);
i=0;
j=strlen(str)-1;
while(i<j)
{
temp=str[i];
str[i]=str[j];
str[j]=temp;
i++;
j--;
}
printf("nReverse string is :%s",str);
return(0);
}
'我有一種感覺,最後反轉字符串的最後一個字符應該被賦予'\ 0'值'你試過嗎? – yamafontes
難以嘗試嗎? – devnull
你正在交換同一段內存中的字符,所以最後的'\ 0'仍然存在,仍然在字符串的末尾。 –