一个c++的问题?!


#include<iostream>
#include<string>
#include<cstring>
using namespace std;
int main(){
     string a;
     char b[101]; 
     while(cin>>a){
         int s=a.length();
         strcpy(b,a.c_str());
         if(b[0]==0){
             cout<<b<<endl;
         }
    }
    return 0;
} 

为什么输出不了?

供参考:

#include<iostream>
#include<string>
#include<cstring>
using namespace std;
int main(){
     string a;
     char b[101];
     while(cin>>a){
         int s=a.length();
         strcpy(b,a.c_str());
         //if(b[0]==0){    //这里是判断什么?
             cout<<b<<endl;
         //}
    }
    return 0;
}

把这代码修改下,让字符串数组b[]一个一个元素输出,就可以看了,供参考:

#include<iostream>
#include<string>
#include<cstring>
using namespace std;
int main(){
     string a;
     char b[101];
     while(cin>>a){
         int s=a.length();
         strcpy(b,a.c_str());
         for(int i=0;i<s;i++){
                                       // if(b[i]!='0')//这里判断是否为字符'0',不是则输出。
                  cout<<b[i];
         }
         cout<<endl;
    }
    return 0;
}

改这样:

 
#include<iostream>
#include<string>
#include<cstring>
using namespace std;
int main(){
     string a;
     char b[101]; 
     while(cin>>a){
         int s=a.length();
         strcpy(b,a.c_str());
         if(b[0]=='0'){
             cout<<b<<endl;
         }
    }
    return 0;
}