C scanf()反向输出带空白字符字符串
编写一个程序读入一行输入,然后反向打印该行。您可以把输入存储在一个char数组中;假定该行不超过255个字符。回忆一下,您可以使用具有%c说明符的scanf()从输入中一次读入一个字符,而且当您按下回车键时会产生换行字符(\n)。
以前曾经写过getchar()
和putchar()
组合运用的,我们知道,scanf()
在空白字符时会停止,那么如何用scanf()
达到getchar()
的效果呢,其实也就是把它当成getchar()
来用:
#include <stdio.h>
int main(void)
{
char line[255];
int i, length;
printf("Print a sentence: ");
for (i = 0; i < 255; i++) {
scanf("%c", &line[i]);
if (line[i] == '\n')
break;
}
for (i -= 1; i >= 0; i--)
printf("%c", line[i]);
return 0;
}