问:下面的操作会输出什么?为什么?
- #include<stdio.h>
- int main(void)
- {
- char *ptr = "Linux";
- printf("\n [%c] \n",*ptr++);
- printf("\n [%c] \n",*ptr);
- return 0;
- }
答:输出结果应该是这样:
因为“++”和“ * ” 的优先权一样,所以“ * ptr++ ”相当于 “ * (ptr++) ”。即应该先执行 ptr++,然后才是 * ptr,所以操作结果是“L”。第二个结果是“i”。
|