奇怪的字符數組初始化
今天做了一個題目,感覺字符數組的初始化
有點奇怪,就親自測試了一下,果不其然。
確實很奇怪。這個就要和數組區分開了。一定
不能將兩者混淆了。
下面給出測試的代碼,并一一解析。
View Code
#include "iostream"
#include "string"
#include "cstring"
using namespace std;
#define size 10
int main()
{
char s1[size]="1", s2[size]={0};
for(int i=0; i<10; i++) cout<<s1[i]<<"";
cout<<endl;
for(int i=0; i<10; i++) cout<<s2[i]<<"";
cout<<endl;
cout<<"s1.length="<<strlen(s1)<<endl;
cout<<"s2.length="<<strlen(s2)<<endl;
for(int i=0; i<2; i++) s1[i] = '0';
for(int i=0; i<10; i++) cout<<s1[i]<<"";
cout<<endl;
for(int i=0; i<2; i++) s2[i] = '1';
for(int i=0; i<10; i++) cout<<s2[i]<<"";
cout<<endl;
cout<<"s1.length="<<strlen(s1)<<endl;
cout<<"s2.length="<<strlen(s2)<<endl;
for(int i=0; i<2; i++) s1[i] = 'a';
for(int i=0; i<10; i++) cout<<s1[i]<<"";
cout<<endl;
}

上面的這個就是它的運行結果了。
千萬不要以為那個就是a,那樣的話,你就大錯特錯了。
那個可是‘\0’哦,親!
posted on 2011-11-24 14:37 More study needed. 閱讀(654) 評論(0) 收藏 舉報

浙公網安備 33010602011771號