关于域宽 可以用一个十进制数指定输入数据的数据宽度,系统自动按域宽截取输入数据。 关于“ * ” 表示按指定格式读入数据但不赋予相应的变量,作用是跳过相应的读入数据 %*d 忽略一个数字 %*c 忽略一个字符 关于使用"\n"的问题 scanf中可以使用"\n",但是输入的时候需要原样输入"\n" scanf运行原理: a.整型和字符型混合输入(d%c%d%,&a&ch&b); 1)用户输入内容会被存放到scanf的输入缓冲区中。然后,scanf函数会根据格式控制的字符要求,从输入缓存区依次取他想要的内容。如果从缓冲区取得内容和为们的格式要求一致,则把值存放到变量中。 2)如果格式不一致,则不修改变量的值。 如果scanf缓冲区还有内容,则不会提示我们再输入值。 建议:如果整型和字符型混合的时候,要加上,d%,c%,d%,此外也可以多加一个c%来吸收多余的\n。
|