c语言scanf占位符多报错,C++学习(七)(C语言部分)之 输入

输入学习时的笔记(其实也没什么用,留着给自己看的)

输出是指 把内容打印到控制台窗口

输入是指 把内容输入到程序里 scanf

scanf 从键盘获取内容到程序里

格式占位符+变量要加取地址符

1、格式占位符

%d 整数类型

%c 字符类型

%f 浮点型 float (不能混写和%lf不一样)

%lf double

%s 字符串

%u 无符号十进制

%x 无符号十六进制

%o 无符号八进制

2、控制输入

1、宽度 最大的接受的长度

%3d 表示能够接受多少整数 3d 是最多能接受3位 多的区域留给下一个

2.长度 h端 l长

double %lf

short %hd

long %ld

long long %lld

3、* 表示跳过 获取内容后直接丢掉

123456789

关于scanf的说明

1.scanf没有精度控制 也就是说没有%3.2lf这种说法

2.变量记得取地址 %s用于字符数组 一般不需要取地址符

3.输入多个字时 输入多个整数 小数 两个数字之间用空格 tab隔开或者回车隔开

scanf的格式占位字符串里有什么就输入什么

scanf格式占位符末尾也不要写\n

4.%d 打印一个char -->ascii码

scanf稍微严格一点 格式占位符和变量 类型要匹配 不然会报错

5.scanf_s 新版函数 _s scanf 更安全

scanf 旧版函数

scanf和scanf_s区别

输入char的时候的区别

char ch;

scanf("%c",&ch);

scanf_s("%c",&ch,1);//输入字符串的时候额外加个1

输入字符串时的区别

char arr[20];

scanf("%s",arr);

scanf_s("%s",arr,20);//20是数组的大小 表示最多能够读取到20个字符

除了上面两种情况 scanf和scanf_s没有区别 用法一致

warning c4996 指明了代替的新函数 直接用新函数就行

6.scanf的输入的时候 两个getchar

在屏幕上输入 按下回车后 进入到缓冲区中

\n留在缓冲区里

scanf是在缓冲区里读取数据

getchar();在缓冲区里读数据

不报错不代表没有错误

*****************************我是分割线*****************************************/

#include

int main()

{

//例一:让用户输入年龄

//printf("请输入你的年龄\n");//提示

//int age;

//scanf("%d",&age);//记得加上取地址符

//printf("用户的年龄是%d\n",age);

//例二:让用户输入手机号

//int num1, num2;

//printf("请输入你的电话号码\n");

//scanf("%3d%*4d%4d",&num1,&num2);//%*4d舍弃

//printf("用户的电话号码是%3d****%4d\n",num1,num2);

//例三:

//char arr[20];// 字符数组 [数组大小] char 数组名[数组大小] 字符数组的定义格式

//字符串一般存放在字符数组中 \0是字符串结尾

//数组大小 >=字符串中字符个数

//字符产中的字符个数+1 字符创中的中文一个汉字占两位

//printf("请输入字符串:");

//scanf("%s",arr);

//printf("输入的内容是:%s",arr);//不需要加取地址符

//例四:输入时隔开的例子

//int num1, num2;

//printf("请输入年龄和身高\n");

//scanf("%d,%d",&num1,&num2);//加了逗号之后 输入时只能用逗号隔开 否则一般是空格键

//printf("%d岁,%d厘米\n",num1,num2);

//例五

//char x, y;

//scanf("%d%d",&x,&y);

//printf("%d岁,%d厘米",x,y);

getchar();//如果有scanf 最好加上两个getchar 只需要用到两个

getchar();

while (1);//死循环 防止提前退出

return 0;

}

2018.05.22  11:39:28

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值