#include<stdio.h>
int main()
{
printf("%c",*"abcde");
return 0;
}
该程序的输出将如何“a”?
让我知道为什么在 Turbo C 中编译时输出是“a”..这里的“*”意味着什么?
"abcde"
是字符串文字,因此具有数组类型。在任何情况下,除了sizeof
或操作数&
,数组衰减为指向其第一个元素的指针。因此,当用作一元的操作数时*
操作员,"abcde"
被评估为指向字符串开头的“a”的指针,并且*
运算符取消引用该指针,获取值'a'
。将此值(整数)传递给printf
用于格式化%c
格式说明符原因printf
将相应的字符“a”打印到标准输出。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)