1.scanf函数
scanf函数原型:
int scanf(const char *format…..);
从标准输入流stdin中按格式format将数据写到参数表中;若操作成功,返回写到参数表中的参数个数,否则返回EOF;
注意以下几点:
①scanf函数没有精度控制
如出现:
scanf(“%6.2f”,&a);
是绝对错误的
②在以%c格式输入字符数据时,所有输入的均为有效字符
如:
scanf(“%c%c%c”,&a,&b,&c);
输入:d e f
则a=’d’,b为空格字符’ ‘,c=’d’
如果以%s读入字符串,则空格键和回车键都可以作为输入结束的标志
如:
scanf(“%s%s”,p,q);---------p,q均为指针
输入:Hello World 与
Hello
World
效果是相同的,p均指向Hello这个字符串,q均指向World这个字符串
③ 如果在格式控制字符串中有非格式字符,则输入时要照原样入;
如:
scanf(“%d,%d,%d,”,&,&b,&c);
则输入时必须加上逗号:5,6,7
④如果同while配合用的话,则需注意去掉回车键
如有下面一段程序:
while(scanf(“%d”,&n)==1&&n!=0)
{
char ch;
scanf(“%c”,&ch);
printf(“%c/n”,ch);
}
则输出结果是:
2
3
0
结果表明ch字符是回车键
所以如果要消除影响:
有两种方法:
⑴加上getchar();
while(scanf(“%d”,&n)==1&&n!=0)
{
getchar();
char ch;
scanf(“%c”,&ch);
printf(“%c/n”,ch);
}
⑵在while中加上%*c
While(scanf(“%d%*c”,&n)==1&&n!=0)即可
2. fabs,abs函数和labs
①fabs函数的原型是:
double fabs(double );
float fabsf(float);
long double fabsl(long double);
②abs函数原型
int abs(int);
③labs函数的原型
long int labs(long int);