Printf arguments not pushed on the stack
问题 I'm in the process of trying to understand the stack mechanisms. From the theory I have seen, before a function is called, its arguments are pushed onto the stack. However when calling printf in the code below, none of them are pushed: #include<stdio.h> int main(){ char *s = " test string"; printf("Print this: %s and this %s \n", s, s); return 1; } I've put a break in gdb to the printf instruction, and when displaying the stack, none of the 3 arguments are pushed onto the stack. The only