2020-09-05

c语言之scanf的几条常见用法

基本格式:scanf(“输入控制符”, 输入参数);

1.当scanf控制符是字符”%c“的时候,要注意回车,回车也是一个字符,当我们连续输入两个整数,回车/空格都属于字符,都会被下一轮的scanf(“%c”,&运算符)吸收。导致我们无法再次输入一个运算符。使用getchar();可以解决这一问题。

2.逗号后不要忘记取地址符&。

3.scanf输入函数须要原样按照“”双引号中的内容输入,例如scanf(“%d,%d”,&a,&b);当在键盘输入时,输入第一个整数时要原样输入逗号“,”后,否则输出结果会发生改变。

4.输出控制符”和“输出参数”无论在“顺序上”还是在“个数上”一定要一一对应。//c语言中scanf("%d%*c", &n);的意思。scanf()中%表示忽略掉一个输入项。上面的程序执行时,比如输入 1 2,m获得的值就是2。
\n和c起的作用:\n在scanf()中会被忽略掉,%c表示忽略掉一个字符型的输入项。最佳答案格式字符串的一般形式为:%[][输入数据宽度][长度]类型其中有方括号[]的项为任选项“
”符:用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。
如:scanf("%d %*d %d",&a,&b);当输入为:1 2 3时,把1赋予a,2被跳过,3赋予b。%*c作用时读取输入流中数字后的一个字符,并丢弃,使得后面的输入函数不能读到那个字符跳过一个字符
举个例子

include 〈stdio.h〉

int main()
{
int a, b;
scanf("%d%*c%d", &a, &b);
printf("%d %d\n", a, b);
return 0;
}你输入1n2,那么scanf把1读取赋给变量a,如果跳过一个char(这里是 ‘n’)接着读取2赋给变量b

include <stdio.h>

int main(void)
{
int i;
scanf(“m%d”,&i);
/*
&i表示i的地址,&是取地址符号
*/
printf(“i = %d\n”,i);
return 0;
} //输入m123则输出123

scanf(“非输入控制符 输入控制符”,输入参数);功能:将从键盘输入的字符转化为输入控制符所规定的数据,然后存入以输入参数的值为地址的变量中重点:非输入控制符必须原样输出

如何使用scanf编写出高质量的代码
1.使用scanf之前最好先使用printf提示用户以什么样的方式来输入

2.scanf中尽量不要使用非输出控制符

3.应该对非法输入做适当处理【非重点】 while ( (ch=getchar() ) != ‘\n’ ) continue;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值