c - 4个参数? 3?

标签 c parameters arguments

<分区>

我在研究一本C编程书上的一些问题,遇到了一个有趣的问题:

  1. 对还是错?

    声明:

    scanf("%d:%f:%1f\n", &a, &b, &c);
    

    包含四个参数"%d:%f:%1f\n", &a, &b and &c

    给出的答案是正确的。为什么会这样?我在这里没有看到 4 个参数/参数。

  2. 对还是错?

    声明:

    printf("%+2d",123);
    

    显示+12

    答案是错误。为什么会这样?

最佳答案

首先;

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

关于c - 4个参数? 3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12130452/

相关文章:

arrays - VB.NET数组参数机制,byval和byref

ruby-on-rails - 参数数量错误 [ex :(3 for 2)] in methods [but only pass 2]

Python - 迭代传递给函数的参数

python - Python 中的 XML <arg> 值替换

javascript - 如何删除函数的第一个参数?

c - C语言从文件中读取字符串

c++ - CUDA-了解线程(扭曲)的并行执行和合并的内存访问

C - 使用 fork()、pipe()、select()、execl() 和 write() 未达到正确的结尾

sql - SSRS 过程没有参数并且提供了参数

c - 向 IOT 中心发布消息 - Eclypse Paho MQTT