CodeSky 代码之空

随手记录自己的学习过程

C scanf()反向输出带空白字符字符串

2014-03-08 19:43分类: C评论: 0

编写一个程序读入一行输入,然后反向打印该行。您可以把输入存储在一个char数组中;假定该行不超过255个字符。回忆一下,您可以使用具有%c说明符的scanf()从输入中一次读入一个字符,而且当您按下回车键时会产生换行字符(\n)。

以前曾经写过getchar()putchar()组合运用的,我们知道,scanf()在空白字符时会停止,那么如何用scanf()达到getchar()的效果呢,其实也就是把它当成getchar()来用:

1#include <stdio.h>
2
3int main(void)
4{
5    char line[255];
6    int i, length;
7
8    printf("Print a sentence: ");
9    for (i = 0; i < 255; i++) {
10        scanf("%c", &line[i]);
11        if (line[i] == '\n')
12            break;
13    }
14    for (i -= 1; i >= 0; i--)
15        printf("%c", line[i]);
16
17    return 0;
18}
19

前三版:http://codesky.me/archives/c-reverse3-word.wind

评论 (0)