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

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

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

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

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

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

#include <stdio.h>

int main(void)
{
    char string[40];
    int i;

    printf("Please print a word: ");
    scanf("%s", string);
    if (strlen(string) > 40)
        printf("Sorry, too long");
    else
        for (i = strlen(string) - 1; i >= 0 ; i--)
            printf("%c", string[i]);
    printf("\n");
    return 0;
}

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

植入部分

如果您觉得文章不错,可以通过赞助支持我。

如果您不希望打赏,也可以通过关闭广告屏蔽插件的形式帮助网站运作。

标签: 源码, 知识, 语法, 题目

添加新评论