#include <stdio.h>
#include <string.h>
int main() {
char str[100];
gets(str);
int i = 0;
for (i = strlen(str); i >0; i--) { //从末尾开始遍历字符串
if (str[i] == ' ') { //如果遇到空格
printf("%s ", &str[i+1]); //输出空格后的单词
str[i] = '\0'; //把空格改为 \0,使后续输出也只有一个单词
}
}
printf("%s", &str[i]); //输出原字符串的第一个单词
//如果遍历里是i>=0,也不能得到第一个字符串,因为i=0时候,该数组不为空格,则不能输出。
//所以遍历完后需要输出第一个单词
return 0;
}
在if (str[i] == ' ')这一句中 如果把' '改为'\0'就是错的,请问这是为什么?c语言中空格和'\0'的区别是什么