狂想曲丶 发表于 2020-11-4 21:14:19

scanf()格式说明符

scanf()格式说明符什么时候可以连写?
比如
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
void main()
{
        char c;
        int age, hi;
        float s;
        printf("Input Type,Age,Height,Point:\n");
        scanf("%c%d%d%f", &c, &age, &hi, &s);
        printf("Type:%c\tAge=%d,Height=%dcm,Point=%.2f\n", c, age, hi, s);
}

昨非 发表于 2020-11-4 21:22:09

建议不要连着写,避免出错,加个空格或逗号啥的输入的时候对应就好

狂想曲丶 发表于 2020-11-4 21:30:37

昨非 发表于 2020-11-4 21:22
建议不要连着写,避免出错,加个空格或逗号啥的输入的时候对应就好

我把每个格式说明符之间都加上逗号之后再输入同样的值得到的结果不一样

昨非 发表于 2020-11-4 21:32:23

狂想曲丶 发表于 2020-11-4 21:30
我把每个格式说明符之间都加上逗号之后再输入同样的值得到的结果不一样

因为你输入的时候也要在相应变量间加上,

昨非 发表于 2020-11-4 21:58:07

比如:scanf("%d,%c",&a,&b);
对听的输入就要
123,a
然后回车

乐乐学编程 发表于 2020-11-4 21:58:08

昨非 发表于 2020-11-4 21:32
因为你输入的时候也要在相应变量间加上,

满屏都是 Py 的,我没帖子回了,我在这里回一个,不是跟你抢哈~~

乐乐学编程 发表于 2020-11-4 22:03:39

狂想曲丶 发表于 2020-11-4 21:30
我把每个格式说明符之间都加上逗号之后再输入同样的值得到的结果不一样

scanf() 函数,若输入的全是数字,没有字符,语句里连着写、分开写一点问题没有;若是输入的时候有字符,那么,语句里就必须连着写,而在实际输入时,用空格隔开。这是因为,有字符输入时,空格、逗号它们也是字符,就会有可能将它们赋给变量

狂想曲丶 发表于 2020-11-4 22:04:51

昨非 发表于 2020-11-4 21:32
因为你输入的时候也要在相应变量间加上,

加上了。
格式说明符加逗号之前的输入结果

加逗号之后的输入结果

昨非 发表于 2020-11-4 22:07:25

狂想曲丶 发表于 2020-11-4 22:04
加上了。
格式说明符加逗号之前的输入结果



注意你,的中英文,改成英文再试试
页: [1]
查看完整版本: scanf()格式说明符