1)scanf("a=%d,b=%d",&a,&b);
一定要记住是以第一部分的格式在终端输入数据。
在黑色屏幕上面输入的为a=12,b=34才可以把12和34正确给a和b。有一点不同也不行。
2)scanf("%d,%d",x,y);
这种写法绝对错误,scanf的第二个部分一定要是地址!
scanf("%d,%d",&x,&y);
注意写成这样才可以!
3)特别注意指针在scanf的考察
例如:
int x=2;
int *p;
p=&x;
scanf("%d",x);错误
scanf ("%d",&p);错误
scanf("%d",p);正确
scanf("%d",*p);错误
4)指定输入的长度(考试重点)
终端输入:1234567
scanf ("%2d%4d%d",&x,&y,&z); x为12,y为3456,z为7
终端输入:1 234567
由于1和2中间有空格,所以只有1位给x
scanf("%2d%4d%d"&x,&y,&z); x为1,y为2345,z为67
5)字符和整型是近亲:
int x=97;
printf ("%d",x);
printf("%c",x);
结果为97
结果为 a
6)输入时候字符和整数的区别(考试超级重点)
scanf("%d",&x); 这个时候输入1,特别注意表示的是整数1
scanf("%c",&x); 这个时候输入1,特别注意表示的是字符‘1’ASCII为整数49
补充说明:
1)scanf函数的格式考察:
注意该函数的第二个部分是&a这样的地址,不是a;
scanf("%d%d%*d%d",&a,&b,&c); 跳过输入的第三个数据。
2)putchar,getchar 函数的考查:
char a = getchar()是没有参数的,从键盘得到你输入的一个字符给变量a。
putchar(‘y’)把字符y输出到屏幕中。
3)如何实现两个变量x,y中数值的互换(要求背下来)
不可以把x=y,y=x;要用中间变量 t=x; x=y; y=t;