C ++中的char数组运行不正常

时间:2015-08-07 13:31:49

标签: c++ arrays string char

我正在使用char数组编写一个C ++程序。但我认为这会产生问题。

这是我的代码:

#include <iostream>
#include<string.h>
using namespace std;

int main() {
    long int t;
    cin>>t;
    char total[500],a[500],b[500];
    cin>>total;
    int len=strlen(total);
    //cout<<strlen(total);
    for(int i=0;i<len/2;i++){
        a[i]=total[i];
    }
    for(int i=0;i<len/2;i++){
        b[i]=total[i];
    }
    cout<<a<<endl;
    cout<<b;
    return 0;
}

不打印数组。但是当我评论出来时

/*for(int i=0;i<len/2;i++){
    b[i]=total[i];
}*/

按预期打印数组a。这有什么问题?

1 个答案:

答案 0 :(得分:1)

您的数组不是以NULL结尾的。如果我在a[len/2]=0;循环后添加b[len/2] = 0;for,则说明其工作正常。