回 帖 发 新 帖 刷新版面

主题:问一个字符型指针的问题

问题如下:
    设有说明语句:
          char s[]="123\t456\00089",  *p=s;
    执行以下两个语句:
     cout<<*(p+5)<<'\n';
          cout<<(p+5)<<'\n';
 正确答案是:
  输出         5
                 56
     第一个输出5我能理解,可第二个输出56不知如何得来?望先学者指点,谢谢!


 写于一楼的答复之后:  
     谢谢一楼的,能不能给我再详细解释一下"56"是怎么输出的?    我知道'\0'是字符数组的结束符.

回复列表 (共2个回复)

沙发

在cout中字符指针当作字符串来处理的

输出56然后遇到\000就当作'\0'来处理 结束

板凳

谢谢一楼的,能不能给我再详细解释一下"56"是怎么输出的?    '\0'是字符数组的结束符我是知道的.

我来回复

您尚未登录,请登录后再回复。点此登录或注册