*p="abc"; printf("%c",*p+2); 输出为什么是c .?

如题所述

C语言优先级,*高于+,因此先执行*p, *p的结果是对p指针指向的值取值,*p等于a,然后'a'+2 = 'c',即输出c
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-12-24
*p是字符串的首地址,*p+2则是指向首地址+2的数据,所以是字符c
第2个回答  2019-10-21
*p取出"abc"中的'a',然后加2等于'c'
你可以试试*p+3验证一下本回答被提问者采纳
第3个回答  2019-12-24
*p就是a,第一个字符,其实下标为0
1 就是 b
2对应的就是 c
第4个回答  2019-12-24
*p是一个指针,定义时指向字符a,*p+2是指针后移2个地址,就指向字符c了。希望对你有所帮助,谢谢!
相似回答