输出的意外结果
											#include<iostream>using namespace std;
void main()
{
char Ar[5]="abcd";
const char *Arr =Ar;
for(int i=0;i<5;++i) { cout<<*Arr++; cout<<i+1;}
cout<<endl;
}
我猜想出的结果是a1b2c3d4?5
或者是a1b2c3d45
但实际结果却是a1b2c3d4 5(多了一空格键)
请各位指点:
 2007-03-05 20:03
	    2007-03-05 20:03
   2007-03-05 21:52
	    2007-03-05 21:52
   2007-03-06 05:33
	    2007-03-06 05:33
  同意二楼,你Arr[4]没赋值系统会自动赋0
 2007-03-08 22:43
	    2007-03-08 22:43
  同意二楼,你Arr[4]没赋值系统会自动赋0
不完全同意这观点,那个是字符串的结束符号,同时也是转义字符“空格”,那里并不是可有可无的,要是赋值成a[5]="abcde";编译会出错
 2007-03-08 23:01
	    2007-03-08 23:01
  不完全同意这观点,那个是字符串的结束符号,同时也是转义字符“空格”,那里并不是可有可无的,要是赋值成a[5]="abcde";编译会出错
补充一下,,如果不要null结束符,只能a[5]={a,b,c,d,e}

 2007-03-10 01:07
	    2007-03-10 01:07
  补充一下,,如果不要null结束符,只能a[5]={a,b,c,d,e}
我也补充一下,呵呵
如果这样定义,就不能使用  %s  输出了,很多字符串的函数也都不能用
[此贴子已经被作者于2007-3-11 19:02:51编辑过]
 2007-03-11 19:02
	    2007-03-11 19:02