C 有人能解释输出吗
谁能解释一下o/p???C 有人能解释输出吗,c,macros,output,printf,C,Macros,Output,Printf,谁能解释一下o/p??? 52它相当于: #define power(a) #a int main() { printf("%d",*power(432)); return 0; } printf("%d",*"432"); 这相当于: #define power(a) #a int main() { printf("%d",*power(432)); return 0; } printf("%d",*"432"); 而'4'
52它相当于:
#define power(a) #a
int main()
{
printf("%d",*power(432));
return 0;
}
printf("%d",*"432");
这相当于:
#define power(a) #a
int main()
{
printf("%d",*power(432));
return 0;
}
printf("%d",*"432");
而
'4'
的ASCII值是52
你认为它有什么作用?您是否努力理解此代码?这很琐碎。我无法理解“*”的作用??在这种情况下,您最需要阅读基本C语言教程。它用于指针解引用。@akash在power(432)
=>“432”
和*“432”
=>“432”[0]
=>'4'
中,因为打印了%d
ascii值。请记住,我们使用的是char*ch=“432”
,这意味着字符串的类型是“432”
是char*
,因此我们可以使用[]
进行索引。正如我们可以做的那样,ch[]
将宏函数参数转换为字符串。因为单个#
运算符。
printf("%d", '4');