c语言中%d中间加个数字,在printf和scanf中有什么不同

如printf(“%4d,%1d",10,10);scanf("%1d,%4d"&a,&b);a=b=10
2024-11-30 14:52:29
推荐回答(2个)
回答1:

printf 是 输出语句, %4d 表示输出的场宽为4位,%1d 表示输出的场宽为1位, 但另有附加规定:当所给场宽度不足时,按实际需要占位输出。所以 输出 10 ,给 %1d 仍将 输出 10, 不会只输出 1,不输出0。

scanf 是输入语句,%4d 表示 读入的数 为 4位整数,超出4位 只读4位,不足4位则按实际位数 读入, %1d 表示 读入的数 为 1位整数,超出1位 只读1位。

例如: scanf("%1d%4d",&x,&y);
拍入 987654321回车
x 读入9,y读入 8765, 余下的 4321 留在输入缓冲区 供 后面的 输入语句使用。

回答2:

精确度。要输入输出多少位。不够的补零