C 4个论点?3.
我正在研究一本C编程书中的一些问题,遇到了一个有趣的问题:C 4个论点?3.,c,parameters,arguments,C,Parameters,Arguments,我正在研究一本C编程书中的一些问题,遇到了一个有趣的问题: 对还是错 声明: scanf("%d:%f:%1f\n", &a, &b, &c); printf("%+2d",123); 包含四个参数%d:%f:%1f\n“,&a,&b和&c 给出的答案是正确的。为什么会这样?我在这里没有看到4个参数/参数 对还是错 声明: scanf("%d:%f:%1f\n", &a, &b, &c); printf("%+2d",123); 显示+12
scanf("%d:%f:%1f\n", &a, &b, &c);
printf("%+2d",123);
包含四个参数%d:%f:%1f\n“
,&a
,&b
和&c
给出的答案是正确的。为什么会这样?我在这里没有看到4个参数/参数scanf("%d:%f:%1f\n", &a, &b, &c);
printf("%+2d",123);
显示+12
答案是否定的。为什么会这样printf("%+2d",123);
发件人:
简介:%[flags][width][.precision][length]说明符
- Flag(
):强制在结果前面加上加号或减号(+或-),即使是正数也是如此。默认情况下,只有负数前面带有-号+
- 宽度(
):要打印的最小字符数。如果要打印的值小于此数字,则结果将用空格填充。即使结果更大,该值也不会被截断2
- 说明符(
):有符号十进制整数d
%d:%f:%1f\n“
第二个参数:&a
第三个参数:&b
第四个参数:&c
函数调用中传递给函数的参数有四个。首先
scanf("%d:%f:%1f\n", &a, &b, &c);
包含4个参数
1: "%d:%f:%1f\n"
2: &a
3: &b
4: &c
第二
printf("%+2d",123);
2表示最小字段宽度,但123大于2个字符,将以完整格式打印。
+
强制执行符号,因此结果是+123
在第一种情况下,参数表示传递给函数的参数,而不是格式语句参数。在第二个问题中,加号表示输出为加号,2表示至少使用两个位置作为输出。Prints不会截断一个数字,因此它会打印出所有三位数字。关于#1:您看到多少个参数(我数了四个)?关于#2:你期待什么-你尝试过吗?你好,欢迎来到SO。请考虑编辑您的问题,以便使用格式化特征。代码通常用反勾号标记,导致类似于此的。另外,我认为你第一个问题中缺少的第四个“
是偶然的,因为你抄袭了。那么请一次只问一个问题。在本例中,你可能已经从第一个问题的答案中学到了什么,以完全避免第二个问题,因为你知道在哪里可以找到它。