注册 登录
编程论坛 C++教室

这段程序里first的理解。

未未来 发布于 2013-03-04 22:58, 374 次点击
程序代码:
#include<iostream>
using namespace::std;
int main(){
   char first,second;
   int ffcnt=0,flcnt=0,ficnt=0;
   while(cin>>second){
       if(first=='f'){
           switch(second){
               case 'f':
               ++ffcnt;
               break;
               case 'l':
               ++flcnt;
               break;
               case'i':
               ++ficnt;
               break;
         }
           }first=second ;
   
   }
    cout<<"ff is "<<ffcnt<<endl;
    cout<<"fl is "<<flcnt<<endl;
    cout<<"fi is "<<ficnt<<endl;

    return 0;
}

这段统计双字符序列出现的次数的代码,
first应该理解为默认空格吗?
新手求解。
5 回复
#2
rjsp2013-03-05 08:43
这代码是统计输入字符中 ff fl fi 的个数。不过,代码烂到家了
a. 使用first之前没有赋值
b. 算法也有bug,比如输入 fff,则他这段烂代码认为有两个 ff
#3
peach54602013-03-05 09:02
默认空格?
#4
日出地平线2013-03-05 09:22
学C++的同胞们加油哦
#5
未未来2013-03-05 12:50
回复 3楼 peach5460
我是这么理解的,
#6
两条线2232013-03-05 21:05
代码应该有错的吧?
1