c语言中%d中间加个数字,在printf和scanf中有什么不同
如printf(“%4d,%1d",10,10);scanf("%1d,%4d"&a,&b);a=b=10...
如printf(“%4d,%1d",10,10);
scanf("%1d,%4d"&a,&b);a=b=10 展开
scanf("%1d,%4d"&a,&b);a=b=10 展开
2个回答
展开全部
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 留在输入缓冲区 供 后面的 输入语句使用。
scanf 是输入语句,%4d 表示 读入的数 为 4位整数,超出4位 只读4位,不足4位则按实际位数 读入, %1d 表示 读入的数 为 1位整数,超出1位 只读1位。
例如: scanf("%1d%4d",&x,&y);
拍入 987654321回车
x 读入9,y读入 8765, 余下的 4321 留在输入缓冲区 供 后面的 输入语句使用。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询