CodeSky 代码之空

随手记录自己的学习过程

C 反向打印第三弹-反向打印单词

2014-03-08 18:05分类: C评论: 0

一个单词读入一个字符数组,然后反向打印出这个值。提示:使用strlen()计算数组中最后一个字符的索引。

关于strlen()在以下两篇中略有提及: http://codesky.me/archives/c-strlen-v2.wind http://codesky.me/archives/c-variable-const-type.wind 前者编写了等功能的函数,后者则是更加泛泛而谈了。

关于前两个反向打印: C 编写函数实现函数字符串字符颠倒 C 输入三位数,使之变成逆序输出

这次的为什么是单词,与前两个有什么不同,当然是大有不同的了,这里我们用到了scanf()的特性——遇到空白字符就会停止读取,这是他与getchar()明显的不同,所以用getchar()写出来的其实是最有用的,而那个三位数,局限性太大,不提也罢。

其实就是把字符串数组反向输出,没什么难度,这个很简单。

1#include <stdio.h>
2
3int main(void)
4{
5    char string[40];
6    int i;
7
8    printf("Please print a word: ");
9    scanf("%s", string);
10    if (strlen(string) > 40)
11        printf("Sorry, too long");
12    else
13        for (i = strlen(string) - 1; i >= 0 ; i--)
14            printf("%c", string[i]);
15    printf("\n");
16    return 0;
17}
18

不过如果超过数组定义长度,很自然就会挂了。

评论 (0)