文章目录
- 输出printf
- 输出格式控制
- 常见的几种格式输出
- 小数输出很奇特
- 指定位数
- 对齐方式
- 代码
- 现象
- 输入scanf
- 输入格式控制
- 输入坑
- 代码
- 现象
- %c 格式控制的坑
- 混合类型输入问题
输出printf
输出格式控制
如:%(占位符/格式字符)
printf(“a=%d”,a);
常见的几种格式输出
%d %c %s %f %x %p
小数输出很奇特
指定位数
对齐方式
代码
#include <stdio.h>
/*
%d %c %s %f %x %p
*/
int main()
{
int a = 10;
char b = 'b';
float c = 6.23;
int d = 99; // 0x63
printf("十进制输出\n");
printf("a = %d\n\n",a);
printf("字符输出\n");
printf("b = %c\n\n",b);
printf("小数输出\n");
printf("c = %f\n\n",c);
printf("字符串输出\n");
printf("字符串为:%s \n\n","Helloworld\n");
printf("十六进制输出\n");
printf("d = 0x%x\n\n",d);
printf("地址进制输出\n");
printf("a的地址:%p\n\n",&a);
return 0 ;
}
现象
输入scanf
输入格式控制
scanf函数中的“格式控制”后面应当是变量地址,而不是变量名。
例如,若a,b,c为整型变量,如果写成scanf(“%d%d%d”,a,b,c);是不对的。
应将“a,b,c”改为“&a,&.b,&c”。许多初学者常犯此错误。
输入坑
scanf格式中有什么字符,输入的时候也要输入
代码
#include <stdio.h>
int main()
{
int data1,data2,data3;
/*
printf("请输入一个数: \n");
scanf("%d",&data1);
printf("输入完毕\n");
printf("你输入的数是:%d\n",data1);
printf("请输入三个数: \n");
scanf("%d%d%d",&data1,&data2,&data3);
printf("输入完毕\n");
printf("你输入的数是:%d %d %d\n",data1,data2,data3);
*/
printf("请输入三个数: \n");
scanf("data1=%d,data2=%d,data3=%d",&data1,&data2,&data3);
printf("输入完毕\n");
printf("你输入的数是:data1=%d data2=%d data3=%d\n",data1,data2,data3);
return 0;
}