我正在刷新我的C知识,我碰巧穿过这个程序来反转一个字符串。我有一种感觉,最后反转字符串的最后一个字符应该被赋予'\ 0'值,否则它可能有一个垃圾值。您能告诉我这段代码是否正确或需要修改吗?提前致谢!
#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 :(得分:0)
根据man gets
:
...缓冲区以0结尾。
我想你们都已经准备好了!