如果有条件不执行c ++

时间:2016-07-01 13:45:05

标签: c++ if-statement

#include<iostream>
#include<string>
#include<cstdio>
#include<cstdlib>
#include<bits/stdc++.h>
#include<algorithm>

using namespace std;
int main(int argc, char const *argv[])
{
    int n,d;
    cin>>n>>d;
    string a1("1");
    int count = 0;
    int sum[1000];
    string a[1000];
    for(int i=0;i<d;i++){
        cin>>a[i];
        for(int j=0;j<n;j++){

            if(a[j].compare(a1) == 0){
                count++;
            }
        }
        sum[i] = count;
        cout<<sum[i]<<endl;

    }
    int kill = 0;



for(int i=0;i<d;i++){
    if(sum[i] == 0){
        kill++;
    }
    else if(sum[i] == sum[i+1]){
        kill++;
    }

}

//cout<<kill<<endl;


    return 0;
}

我必须在字符串的每一位和1之间进行比较,如果位为1然后递增计数器为1,我已经写了这个逻辑,但if条件是没有工作,因为它应该在[a]时执行j] == 1,但事实并非如此。 有人可以帮我解决这个问题吗? 谢谢你提前。

1 个答案:

答案 0 :(得分:0)

尝试使用strcmp()而不是比较。

if(strcmp(a[j],a1)==0)
{
count++;
}