不同大小的固定数组(c ++)

时间:2018-01-19 14:39:48

标签: c++ arrays

我想创建一个程序,它计算一个数组包含在另一个数组中的时间。

#include <iostream>
#include <vector>
#include <string>
#include <stdexcept>
#include <algorithm>
#include <cmath>
#include <list>
using namespace std;

int func(char one[],char two[]){
    int result = 0;
    int length_one = sizeof(one)/sizeof(*one) - 1;
    int length_two = sizeof(two)/sizeof(*two) - 1;
    for(int i = 0;i<length_one;++i){
        int temp = 0;
        if(one[i] != two[0]) continue;
        else{
            for(int j = 0;j<length_two;++j){
                if(two[j] != one[j+i])break;
                else{
                    temp+=1;
                }
            }
            if(temp == length_two){
                result +=1;
            }
        }

    }
    return result;
}


int main(){
    char one[] = "Hello everybody";
    char two[]= "every";
    cout << func(one,two);

}

我单独检查了行:int length_two = sizeof(two)/sizeof(*two) - 1;大小等于5.但是在我的代码中int length_two等于7.怎么可能?

0 个答案:

没有答案