to the world

very mystery and interesting

C++博客 首页 新随笔 联系 聚合 管理
  11 Posts :: 0 Stories :: 5 Comments :: 0 Trackbacks
#include <iostream.h>
void main()
{
  
char s1[]="abcd",s2[5];
  
for(int i(0);i<5;i++)
      s2[i]
='e'+1;
  cout
<<s1<<endl;
  
for(i=0;i<5;i++)
   cout
<<*(s2+i);
  cout
<<endl;
}
       
他的结果是:abcd
                        efghi
怎么出来efghi的,我知道应该是d字符加1就是e ,但有点不懂,希望大家帮助我。
谢谢。
17:17:01
2006年1月20日
posted on 2006-01-20 17:17 hacken 阅读(174) 评论(2)  编辑 收藏 引用

Feedback

# re: 字符的输出 2006-01-20 18:06 小虫
按照你这样写,输出的结果应该是:
abcd
fffff

将第六行改为 s2[i]='e'+i;
就会得出你写的结果

第一个循环给s2中每个元素赋值;第二个循环将s2显示出来
因为*(s2+i)的意思是:取s2地址后第i个元素的值,即s2[i],所以显示为efghi  回复  更多评论
  

# re: 字符的输出 2006-01-22 00:35 dudu
请不要在首页提问, 下次再发现, 你的帐户将被停用!  回复  更多评论
  


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理