printf如何工作?

Ida*_*dan 6 c memory printf

我看了看但找不到合适的答案.

我想知道printf是如何工作的,如下所示:

char arr[2] = {5,6};

printf ("%d%d",arr[0],arr[1]);
Run Code Online (Sandbox Code Playgroud)

我认为printf只是遍历格式,当它包含%d时,例如它从它的当前位置读取4个字节...但是这是错误的,因为上面的工作完美.

那么,我哪里错了?

unw*_*ind 9

你是对的.但是有一些论证促销可以将你的char:s转换为int:s,当它们与"varargs"函数一起使用时printf().