说明:对于含有空格的字符串不能用scanf来读取,因为scanf在读取过程中遇到空格的时候,就不往后接收了 , 遇到空格停止结束了。
例如,输入 "hello bit" scanf只会接收"hello"而空格后的"bit"就不会被接收。
而gets函数也能够接收字符,并且遇到空格也不会停止接收
字符串逆序代码如下
void Reverse(char* str)
{
int left = 0;
int right = strlen(str) - 1;
while (left < right)
{
char temp = str[left];
str[left] = str[right];
str[right] = temp;
++left;
--right;
}
}
int main()
{
char str[10000] = {0};
/*scanf("%s", str);*/ //scanf输入时遇到空格就读取结束
//scanf("%[^\n]",arr);
gets(str); //gets遇到空格可以继续读取
Reverse(str);
printf("%s", str);
return 0;
}