printf 一些使用细节

本文详细介绍了C语言中printf函数的使用方法,包括百分号的转义、格式与数据的匹配、不同类型格式符的特点等,并通过具体示例展示了常见的错误及注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.%的使用,从左向右结合
  printf("%");//其输出为空
  printf("%%"); // 打印输出一个%
  printf("%%d",11);//输出为结果%d,这里%%会在一起输出%再输出字符d

  printf("%%%d", 11);//输出%11

#include<stdio.h>
int main()
{
	printf("%");//其输出为空 
	printf("\n");

	printf("%%"); // 打印输出一个%
	printf("\n");

	printf("%%d",11);//输出为结果%d
	printf("\n");

	printf("%%%d", 11);//输出%11
	printf("\n");

	system("pause");
	return 0;
}

2.输出项和控制项不匹配的情况
printf("%d,%d", 1, 2, 3, 4, 5, 6); //输出表多了会被忽略
printf("%d,%d,%d,%d,%d", 1, 2);    //控制项多了,会打印出不定值

#include<stdio.h>
int main()
{
	printf("%d,%d", 1, 2, 3, 4, 5, 6); //输出表多了会被忽略
	printf("\n");

	printf("%d,%d,%d,%d,%d", 1, 2);	//控制项多了,会打印出不定值
	printf("\n");

	system("pause");
	return 0;
}

3.%o,%d,%u不可以大写,但是%x可以大写,%X大写,代表十六进制字符是大写的
//%d,%u,%o 如果大写%D ->D  %U->U  %O->O

#include<stdio.h>
int main()
{
	printf("%d\n", 9);
	printf("%D\n", 9);

	printf("%o\n", 010);
	printf("%O\n", 010);

	printf("%u\n", 011);
	printf("%U\n", 011);//%o,%d,%u不可以大写

	system("pause");
	return 0;
}

4.%E,%X,%E指数会大写,%X十六进制的字母会大写。
%g和%G根据数值不同自动选择%f或%e.%G G大写的时候如果按照%f正常是输出,如果按照%e,指数为大写

#include<stdio.h>
int main()
{
	printf("%x \n", 0x1A);//%x表示输出字母是小写 则输出结果为1a
	printf("%X \n", 0x1A);//%X表示字母输出是大写 则输出结果为1A

	printf("%e\n",1223414.3);// 指数为e
	printf("%E\n",1223414.3);//指数为E

	printf("%G\n",1.2);//按%f 方式输出
	printf("%G\n",12141414.12);//按%e方式指数形式为E

	system("pause");
	return 0;
}

5.%s中的S不能大写,写了以后什么都不输出,%F 也不能大写,其不输出%F-->空而不是F

%和%C都一样

#include<stdio.h>
int main()
{
	printf("%C \n",65);
	printf("%c\n",65);//%c和%C都一样

	printf("%s\n","hello");
	printf("%Sqq\n","hello");//%s中的S不能大写,写了以后什么都不输出

	printf("%f\n",112.1);
	printf("%Fqq\n",112.1);//%F 也不能大写,其不输出%F-->空而不是F
	system("pause");
	return 0;
}

6.    //printf打印的时候,类型与数据要匹配,不匹配就会出现转换错误

#include<stdio.h>
int main()
{
	//printf打印的时候,类型与数据要匹配,不匹配就会出现转换错误
	printf("%d\n", 100000.0);
	printf("%f", 100000);

	system("pause");
	return 0;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值