设有以下程序片段:char a[]='hello,* pip=aiprintf(%d',*(p+5));执行上面 的程序片段后的结果为() A. B.0 C.104 D.不确定的
结果是B 0
a[]="hello" 对a数组赋值"hello"字符串会在之后加上一个'\0'来表示字符串结束
赋值之后是
a[0]是'h'
a[1]是'e'
a[2]是'l'
a[3]是'l'
a[4]是'o'
a[5]是'\0'
p = a;是p指向a的首地址,*(p+5)就等于是a[5],
因为a[5] 是'\0'
printf("%d",*(p+5));输出就是0
..请整理问题格式,现在的代码是跑不出来的
使用代码块粘贴或者贴清晰图片出来方便解答
结果是0
因为p = a;相当于p指向a的首地址,p+5相当于a[5],a[5] 是'\0'
char a[] = "hello",默认隐藏了一个'\0'