
书上说的没错,lib文件中存放的就是被调用系统函数的目标代码,但是和声明文件一样不是一个函数一个文件,而是一批函数放在一个文件里。并且文件是二进制的格式,你也查看不了。
对于h头文件你理解的没错,头文件是只是函数的声明,里面不放函数的具体代码,具体代码比如VC是在C:\Program Files (x86)\Microsoft Visual Studio 100\VC\crt\src 目录下,你可以找到printfc文件的源码,如果你是想看源码就看这个。我看了其它人的回复,C编译器的不同位置放的是不同的函数部分,以VC为例,include放的是调用函数的声明部分,并且只有声明部分;src目录放的是函数的源码;lib放的是函数的编译后目标文件,但是是打捆放的,代码只有在链接时,才会将库函数进行连接,并生成最后的EXE可执行文件。
这句话是不对的,因为%c只能够输出单个字符,%s表示的是输出字符串,所以说这句话是错误的。
printf()函数是式样化输出函数, 一般用于向准则输出设备按规定式样输出消息。正在编写步骤时经常会用到此函数。printf()函数的挪用式样为:printf(“<式样化字符串>”,<参数表>);。
其中式样化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出;另一部分是式样化规定字符。以“%”开端,后跟一个或几个规定字符,用来确定输出内容式样。
扩展资料:
printf函数注意:
函数printf从右到左压栈,然后将先读取放到栈底,最后读取的放在栈顶,处理时候是从栈顶开始的,所以我们看见的结果是,从右边开始处理的。
格式:
1、可以在“%”和字母之间插进数字表示最大场宽。
例如:%3d表示输出3位整型数,不够3位右对齐。
%92f表示输出场宽为9的浮点数,其中小数位为2,整数位为6。
小数点占一位,不够9位右对齐。
%8s表示输出8个字符的字符串,不够8个字符右对齐。
如果字符串的长度、或整型数位数超过说明的场宽,将按其实际长度输出。
但对浮点数,若整数部分位数超过了说明的整数位宽度,将按实际整数位输出。
若小数部分位数超过了说明的小数位宽度,则按说明的宽度以四舍五入输出。
另外,若想在输出值前加一些0,就应在场宽项前加个0。
例如:%04d表示在输出一个小于4位的数值时,将在前面补0使其总宽度为4位。
如果用非浮点数表示字符或整型量的输出格式,小数点后的数字代表最大宽度,
小数点前的数字代表最小宽度。
例如:%69s表示显示一个长度不小于6且不大于9的字符串。若大于9,则第9个字符以后的内容将被删除。
2、可以在“%”和字母之间加小写字母l,表示输出的是长型数。
例如:%ld表示输出long整数
%lf表示输出double浮点数
3、可以控制输出左对齐或右对齐,即在“%”和字母之间加入一个“-”号可说明输出为左对齐, 否则为右对齐。
-printf
#include<stdioh>
#include<malloch>
int main()
{
int num;
printf("请输入元素的个数:");
scanf("%d",&num);
char p=(char)malloc(sizeof(char)num);
for(int i=0;i<num;i++)
{
printf("请输入第%d个元素",i);
fflush(stdin);
scanf("%c",p+i);
}
for(int i=0;i<num;i++)
{
printf("%c ",(p+i));
}
FILE fp;
if(!(fp=fopen("atxt","wb+")))
{
printf("打开文件失败");
return 1;
}
for(int i=0;i<num;i++)
{
fputc((p+i),fp);
}
return 0;
}
在ccs上已经调试了,还有不懂的话留邮箱!
printf函数是一个标准库函数,它的函数原型在头文件“stdioh”中。printf函数调用的一般形式为:
printf(“格式控制字符串”,输出表列)其中格式控制字符串用于指定输出格式。
sCanf函数的一般形式为:
sCanf(“格式控制字符串”,地址表列);
其中,格式控制字符串的作用与printf函数相同,但不能显示非格式字符串,
也就是不能显示提示字符串。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)