为什么int num=2 printf(“num=%d”)输出为0具体情况为图

img

img

你把num也放进格式化字符串里面,所以num不是变量,只是一个字符串,你仔细看自己打印出来的字符串里不是有num吗
而你后面没有传入值,c语言也不报错,就用0给你当做默认值

因为你全放在了引号里啊
printf("num=%d,&num=%p",num,&num);

后面两个应该在变量位置的放在了控制格式位置,所以默认为0了吧