问题描述
- C语言printf函数问题。。。。。
-
const int N = 5;printf("asd",N); N所在的位置不应该是可变参数吗?我都定义成常量了,怎么这个程序还能运行啊?
解决方案
可变参数和常量不矛盾。
可变参数的可变是指参数的个数可变。
解决方案二:
可变参数是说数量?还是参数不固定?……你在哪里看的啊,有原文么,不要误解。
任何情况还是要以实际运行编译为准,尽信书不如无书。
我选择相信编译器……
解决方案三:
printf是根据格式化字符串中的格式字符进行解析的。后面的参数可以多,但是不能少。
解决方案四:
前面字符串里少了一个格式符,应该有个%d。
解决方案五:
printf的格式是这样 printf("%d",N); 出现%d,%f等等 后面的变量是不能省略的 。不然就会直接显示了。
解决方案六:
printf 的格式貌似不正确吧
解决方案七:
是printf()是接收的是可变参数的,是说printf()可以有不同数量的参数,不是输入的参数的数值必须可变。
解决方案八:
这个printf是编译器,给解决的,
是通过格式,然后循环查找后边的参数,进行动态生成字符串。
参数多了,没问题,若参数少了,可能产生访问越界等问题。
时间: 2024-09-20 00:44:02