我写了一小段代码来反转一个字符串。
#include "template.h"
void main() {
char temp;
char *str = NULL;
int read, i;
size_t len = 20;
read = getline(&str, &len, stdin);
if (read > -1)
{
str[strlen(str) - 1] = '\0';
for (i = 0; i < strlen(str)/2; i++)
{
temp = str[i];
str[i] = str[strlen(str) - i];
str[strlen(str) - i] = temp;
}
printf("%s\n", str);
}
else
printf("FOFF!\n");
}
当我输入abcdef
输出时afedcb
。为什么第一个字符没有移到末尾?