第1个回答 2013-03-02
a被定义成字符数组,5个空间,5个字符
而b是字符指针
当cout << b+i <<"\n" ;时,系统会把b+i所指向的空间中的数据当字符串处理,它需要一个结束符
而a数组中没有提供这个结束符'\0',所以会出现你的现象。
修改方法:
char a[SHU+1]={'a','b','c','d','e'} ;这样就好了
如果想输出单个字符,则需要如下修改:
cout << *(b+i) <<"\n" ;
你如果将a的类型改成int,则按你现在的代码,输出的应该是地址值,要输出相应的数值,也应该改成*(b+i)