【printf】

发布时间:2024年01月22日

一、基本用法:

printf将参数文本输出到屏幕,f — (format)

例如,想要输出“I am cool !!!”

# include < stdio.h >
int main ()
{
printf ("I am cool !!!");
return 0;
}

运行后光标会停留在输出结束的地方,如果想要光标停在下一行,可以使用转义字符\n (换行)。

二、占位符

指这个位置可以用其他值来代入。

占位符的第一个字符都是%,第二个字符是占位符的类型(整形,浮点型,字符串,等等)。

例子:想要输出there are 2 bottles of water
正常情况下,可以这样输入:

# include <stdio.h>
int main()
{
printf ("there  are  2  bottles of water \n");
return 0;
}

我们也可以用到占位符:

# include <stdio.h>
int main ()
{
printf("there are  %d   bottles of water \n", 2);
return 0;
}

这里的%d就是占位符,2 是一个整形,所以使用%d,2就替换了%d

输出的结果是一样的。

如果不想限定数字是几:

# include <stdio.h>
int main ()
{
int a=0;
scanf ("%d",&a);
printf ("there are %d bottles of water \n", a);
return 0;
}

此时你在编译器上输入是几,就是几。

常用的占位字符除了%d,%s也可以。

例如,我想输出:Yang Di is really handsome

# include <stdio.h>
int main ()
{
printf ("%s is  really handsome","Yang Di");
return 0;
}

同理,如果我们也可以想在编译器上输入是谁,就是谁。

输出文本里可以使用多个占位字符。

# include <stdio.h >
int main()
{
printf ("%s drank %d bottles of water","LiHua",2);
return 0;
}

输出的结果是:LiHua drank 2 bottles of water

两个占位字符,第一个占位字符是%s,第二个占位字符是%d,分别对应的是printf的第二个参数LiHuaprintf的第三个参数 2。有第一个参数是%s drank %d bottles of water

所以:printf() 参数与占位符是??对应关系,如果有 n 个占位符, printf() 的参数就应该有 n +1个,如果参数个数少于对应的占位符,printf() 可能会输出内存中的任意值。

三、占位符还有许多:

%a :?六进制浮点数,字?输出为?写。
%A :?六进制浮点数,字?输出为?写。
%c:字符。
%d :?进制整数。
%e :使?科学计数法的浮点数,指数部分的 e 为?写。
%E:使?科学计数法的浮点数,指数部分的 E 为?写。
%i:整数,基本等同于 %d
%f :?数(包含float类型和 double 类型)。
%g :6个有效数字的浮点数。整数部分?旦超过6位,就会?动转为科学计数法,指数部分的 e
为?写。
%G :等同于 %g ,唯?的区别是指数部分的 E 为?写。
%hd :?进制short int类型。
%ho :?进制short int类型。
%hx :?六进制short int类型。
%huunsigned short int类型。
%ld :?进制long int类型。
%lo :?进制long int类型。
%lx:?六进制long int类型。
%luunsigned long int类型。
%lld :?进制 long long int类型。
%llo :?进制long long int类型。
%llx :?六进制 long long int类型。
%lluunsigned long long int类型。
%Le :科学计数法表?的long double类型浮点数。
%Lflong double类型浮点数。
%n:已输出的字符串数量。该占位符本?不输出,只将值存储在指定变量之中。
%o :?进制整数。
%p :指针。
%s :字符串。
%u :?符号整数(unsigned int)。
%x :?六进制整数。
%zd size_t 类型。
%%:输出?个百分号。

(该表来自哔哩哔哩博主:鹏哥C语言)

还没有结束,还有后续哟~~

文章来源:https://blog.csdn.net/B_12385_Daydream/article/details/135720522
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。