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()
写出来的其实是最有用的,而那个三位数,局限性太大,不提也罢。
其实就是把字符串数组反向输出,没什么难度,这个很简单。
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)