c语言scanf用法
C语言中scanf的用法和注意事项
scanf概念
scanf是格式输入函数,功能是在屏幕上输入指定的信息。简单的来说和printf相似却不相同。
scanf调用格式: scanf("<格式化字符串>",<地址表>);
如:
#include <stdio.h>
int main()
{
int a,b,c;
printf(“input three data:\n”);//使用 scanf 之前先用 printf 提示输入。
scanf("%d%d%d",&a,&b,&c); // scanf 的“输入参数”中,前面的取地址符&记住
printf("%d,%d,%d/n",a,b,c);
return 0;
}
运行时按如下方式输入三个值:
3□4□5↙(输入a,b,c的值)
3,4,5 (printf输出的a,b,c的值)
(1) &a、&b、&c中的&是地址运算符,分别获得这三个变量的内存地址。
(2) "%d%d%d"是按十进值格式输入三个数值。输入时,在两个数据之间可以用一个或多个空格、tab键、回车键分隔。
以下是合法输入方式:
① 3□□4□□□□5↙
② 3↙
4□5↙
③ 3(tab键)4↙
5↙
我们常用到的字符串有:
%c 读入一个字符。
%d 读入十进制整数。
%f 用来输出实数,以小数形式输出。
%lf 用来输出实数,以更长的小数形式输出。
分享下学习中明白的注意点:
1 当定义一个字符变量时,在键盘上输入一个scanf会吸收回车和空格字符,为了进行代码的可行性需在函数结束前加函数getchar()进行吸收。例如:
定义一个字符z,是scanf是从键盘上获取一个值。因为我们定义的是一个字符,所以将键盘上所有获得的字符赋值给z,而空格和回车也是字符,会影响字符赋值给z,所以要在末尾加个getchar()函数进行吸收。
没加getchar():
程序第二次进行运算时回车成了运算符了。
正确结果是:
2 scanf函数中的“格式控制”后面应当是变量地址,而不是变量名。例如,若a和b为int型变量,如果写成scanf("%f%f%f",a,b,c)是错误的。
scanf 的使用小结:
1 在 scanf 的“输入参数”中,变量前面的取地址符&不要忘记。
2 scanf 中双引号内,除了“输入控制符”外什么都不要写。
3 “输出控制符”和“输出参数”无论在“顺序上”还是在“个数上”一定要一一对应。
4 “输入控制符”的类型和变量所定义的类型一定要一致。对于从键盘输入的数据的类 型,数据是用户输入的,程序员是无法决定的,所以在写程序时要考虑容错处理。
5 使用 scanf 之前先用 printf 提示输入。
c语言scanf用法相关推荐
- 牛客网循环输入输出测试——C语言scanf和printf用法
在实际的编程中需要自己写出完整的程序,预留好输入的接口,使用while循环接收多个测试用例,C语言在输出时printf要用换行"\n". 字符串输入输出问题见博客:牛客网字符/字符 ...
- c语言scanf s用法,C语言scanf与scanf_s
C语言scanf与scanf_s0 我打编译器是microsoft visual studio 2005,我的源程序如下,注意注释的地方,就是scan函数中的scanf_s函数,程序运行正常,但是当输 ...
- c语言中数组部分输入赋值,c语言scanf对数组赋值
c语言动态数组赋值,,c语言结构体数组赋值,c语言scanf对数组赋值 c语言数组动态赋值,<手把手教你学51单片机-C语言>之六 中断与数码管动态显示,c语言结构体数组赋值,c语言sca ...
- C语言continue用法
C语言continue用法 continue只是跳出当前循环,并不会跳出整个while循环. For example: 建立 showchar2.c 1 #include <stdio.h> ...
- c语言scanf运行出现吃回车,scanf读取回车
c语言 scanf 和 读取回车 我想用scanf读文件( program scanf()能把回车键读进去吗?数组能赋予回车值吗? //可以读入回车符,也可以给数组赋值 //具体看下例 #includ ...
- c语言goto语句标号作用,goto语句怎么用(c语言goto用法)
goto语句怎么用(c语言goto用法) 2020-07-28 02:03:29 共10个回答 1.C语言中goto又叫无条件转移语句,可以让程序直接跳转到任意标记的位置.用法就是"goto ...
- c++中string和c语言string用法总结
实例引出: 这个一个字符变换的题目:需要把输入的含有Q加数字的变为对应的Text+个数的形式: 输入样例为: abddaQ123werQ1234 输出为:abddaText1werText2 我在编写 ...
- c语言中的printf怎么用,printf怎么用(c语言printf用法)
printf怎么用(c语言printf用法) 2020-07-28 02:35:57 共10个回答 printf(pbuff[i]);修改为printf("%s",pbuff[i]);printf(p ...
- c语言指针用法有哪些
c语言指针用法: 一,指针定义: 指针变量的取值范围取值0~4G,是一种数据类型(无符号整数,代表了内存编号).它可以用来定义变量(与int.long一样),与int.long不同的它存储整数代表了内 ...
- C语言STATIC用法
C语言STATIC用法 转自:http://blog.csdn.net/vagrantisme/article/details/4083722 1. static 变量 静态变量的类型 说 ...
最新文章
- Java统计1到300_java程序员的从0到1:统计某字符串在某文件中出现的次数(面试题)...
- 使用OpenSSL实现证书操作
- kaggle比赛模型融合指南
- Scrapy介绍及入门
- js特效 在服务器显示变形,使一行文字变形产生弯曲弧度特效的jQuery插件 - Arctext.js...
- css 带轮廓的圆,CSS3 圆球轮廓动画
- 如何使用Java和XML Config在Spring Security中启用HTTP基本身份验证
- linux边看系统信息,Linux查看系统信息大全[备忘]
- go去掉最后一个字符_Go语言去除字符串中的指定字符
- grandle下载安装图解
- 计算机计算能力共享,如何共享计算机的计算能力?
- 哈希表和红黑树的对比
- openstack 排错
- IntelliJ IDEA 的项目配置和Web部署,终于搞懂了!
- Git - 教程(廖雪峰)
- Tolua使用笔记(上)
- JDK1.8 下载及安装步骤
- leetcode刷题java之739. 每日温度
- net core 微服务 快速开发框架 Viper 初体验
- MOTO不相信眼泪!艰难回归!你,准备好了吗?