(一)输出输入

文章目录

  • 输出printf
    • 输出格式控制
    • 常见的几种格式输出
    • 小数输出很奇特
      • 指定位数
      • 对齐方式
    • 代码
    • 现象
  • 输入scanf
    • 输入格式控制
    • 输入坑
      • 代码
      • 现象
    • %c 格式 单字符输入的坑
      • 代码
      • 现象
    • 混合类型输入问题
      • 坑之所在
      • 代码
      • 现象


输出printf

输出格式控制

如:%(占位符/格式字符)
printf(“a=%d”,a);

常见的几种格式输出

%d %c %s %f %x %p
(一)输出输入_第1张图片

小数输出很奇特

指定位数

(一)输出输入_第2张图片

对齐方式

** -m.nf 左对齐
不加 - 是右对齐**
(一)输出输入_第3张图片

代码

#include 

/* 
	%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 ;
}

现象

(一)输出输入_第4张图片

输入scanf

输入格式控制

scanf函数中的“格式控制”后面应当是变量地址,而不是变量名

例如,若a,b,c为整型变量,如果写成scanf(“%d%d%d”,a,b,c);是不对的。

应将“a,b,c”改为“&a,&.b,&c”。许多初学者常犯此错误。

输入坑

scanf格式中有什么字符,输入的时候也要输入

仅仅在输入数值数据时,如输入空格、回车、Tab键或遇非法字符(不属于数值的字符),认为该数据结束。例如:输入a 空格 b 空格 c或者a 回车 b 回车 c 回车

代码

#include 

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;
}

现象

(一)输出输入_第5张图片

%c 格式 单字符输入的坑

(一)输出输入_第6张图片

代码

#include 

int main()
{
	char a,b,c;
	
	printf("这是单个字符输入的坑,不能加空格缩进等转义字符隔开\n\n");
	
	printf("请输入三个字符\n");
	scanf("%c%c%c",&a,&b,&c);
	printf("输入完毕\n");
	printf("输入的三个字符为:a=%c,b=%c,c=%c\n",a,b,c);
	
	return 0;
}

现象

(一)输出输入_第7张图片

混合类型输入问题

坑之所在

因为不仅仅是单纯的输入数值数据,所以空格,Tab,回车(非法字符)等,不一定是认为数据结束

代码

#include 

int main()
{	
	int data_int;
	char data_char;
	float data_float;
	
	printf("混合输入问题\n\n");
	
	printf("请分别输入一个整数,一个字符,一个小数\n");
	scanf("%d%c%f",&data_int,&data_char,&data_float);
	printf("输入完毕\n");
	printf("输入的三个为:data_int=%d,data_char=%c,data_float=%7.2f\n",data_int,data_char,data_float);
	
	return 0;
}

现象

(一)输出输入_第8张图片



----- 如有错误欢迎大家批评指正!!!

你可能感兴趣的:(C语言,c语言)