C 有人能解释输出吗

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'

谁能解释一下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'
的ASCII值是
52

你认为它有什么作用?您是否努力理解此代码?这很琐碎。我无法理解“*”的作用??在这种情况下,您最需要阅读基本C语言教程。它用于指针解引用。@akash在
power(432)
=>
“432”
*“432”
=>
“432”[0]
=>
'4'
中,因为打印了
%d
ascii值。请记住,我们使用的是
char*ch=“432”
,这意味着字符串的类型是
“432”
char*
,因此我们可以使用
[]
进行索引。正如我们可以做的那样,
ch[]
将宏函数参数转换为字符串。因为单个
#
运算符。
printf("%d", '4');