A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 woxingwosu 于 2015-8-19 23:39 编辑

所写代码:
  1. #include <stdio.h>
  2. int main(){
  3.     char str[]="AdfjeiBkdfjAdCdfweDfdDDBsdA";
  4.     //key是要查询的单词
  5.     char key;
  6.     gets(&key);
  7.     //keyNum是统计查询单词出现的次数。
  8.     int keyNum=0;
  9.     //subscript是一个下标,作用是每次循环从下标的位置的字母开始向右运行直到\0。
  10.     int subscript=0;
  11.     //while循环,当下标不运行到\0时,循环不会结束。
  12.     while (str[subscript] != '\0') {
  13.         //每次循环一次,下标向右移动一次。
  14.         subscript++;
  15.         //查询到所要查询的字母时,keyNum加1.
  16.         if (str[subscript] == key) {
  17.             keyNum++;
  18.         }
  19.     }
  20.     printf("%c出现次数:%d次",key,keyNum);
  21.     return 0;
  22. }
复制代码

运行结果如下:
A
A出现次数:2

求教,为什么我输入其它字母,次数统计是正确的,而输入A的时候,少统计一次,是哪里出问题了呢?

3 个回复

正序浏览

先执行if语句,再++,犯了个低级错误。
回复 使用道具 举报
怎么解决的?
回复 使用道具 举报
这个楼主已经解决了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马