**
scanf的用法
**
我在自己学习了scanf之后,遇到了一系列的问题和注意事项,例如题目里面提示了输入两个数,规定第1~6列是第一个数的范围,第8~9列是第二个数的范围。然后第一个数字可能没有6位,而第二个数字可能没有两位,那么连个数字中间可能出现,多个空格,而我们一般的使用scanf的方式对于其参数的规定是"%d %d"中间加空格的方式来得到数据的,比如说scanf("%d %d", &x, &y);而这种方式获得的数据规定了scanf的数据的结束的方式,看到空格就结束,而对于上面的两个数据,中间的空格可能很多,当第一个数据获得了以后,第二个数据获取的时候,可能在数据前有空格,而这个给%d的话会由于出错而结束。
而对于scanf函数的方式,获取内容有一个特点,对于scanf("%d%d",&x,&y),中间没有规定结束的符号的时候,scanf是根据自己的方式来结束的,那么这几种方式是
① 遇空格、“回车”、“跳格”键。
② 遇宽度结束。
③ 遇非法输入。
因此,对于中间空格很多的时候,第一个数直接赋值给了x,然后遇到空格,说明没有数据,直到遇到第二个数据的时候进行赋值,然后就遇到了回车
结束了。这对与%s 也是对的.
printf的用法以及注意事项
1注意参数与逗号隔开;
2使用%d来打印整数,用%0d控制宽度;
3使用%lf来打印小数,用%。4lf来控制小数点后位数;
4学会用int函数,表示整数,double函数,表示小数(f;loat函数也表示小数,不过只精确到7位有效数字,表示的数字后还要加f,控制符用%f);
5初步学习加减乘除 + - * / 的表示。