void pri(int *p) p是数组的首指针,就是指向第一个元素的指针
创新互联建站专注于香洲网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供香洲营销型网站建设,香洲网站制作、香洲网页设计、香洲网站官网定制、小程序定制开发服务,打造香洲网络公司原创品牌,更为您提供香洲网站排名全网营销落地服务。
{
int *q=p+N; 让q是数组指向最后一个元素
for(;pq;p++) 这个循环就是从第一个到最后一个元素安格输出
printf("%5d," *p);
printf("\n");
}
数组的名本身就是一个指针,表示数组第一个元素,咱们可以对指针进行操作
例如p + 1 就是指针向后移动一个单位,也就是指向第2个元素
现在明白了啊
printf后面的参数包括“格式控制字符串”和输出变量的列表“格式控制字符串”由格式控制字符和普通字符。其中前者以%开始加某一个特殊字符。比如%d为输出整数、%c输出字符。普通字符是原样输出的内容。
输出变量列表即为输出的变量,其个数要与控制字符相对于。比如有int a=3,b=4,然后pritf(“a=%d,b=%d”,a,b)。
输出结果为a=3,b=4。以printf("abc")中abc为格式控制字符串中的普通字符,原样输出。print(“%d”,i)为以整形输出变量i的值。
printf命令的作用是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。printf()函数的调用格式为:printf("格式化字符串", 参量表)。
printf()是C语言标准库函数,在 stdio.h 中定义。输出的字符串除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。
扩展资料:
printf函数定义:
函数声明:
int printf(char *format...);
调用格式:
printf("格式化字符串", 参量表);
格式化字符串包含三种对象,分别为:
(1)字符串常量;
(2)格式控制字符串;
(3)转义字符。
字符串常量原样输出,在显示中起提示作用。输出表列中给出了各个输出项,要求格式控制字符串和各输出项在数量和类型上应该一一对应。其中格式控制字符串是以%开头的字符串,在%后面跟有各种格式控制符,以说明输出数据的类型、宽度、精度等。
格式控制字符串format:
format-- 是字符串,包含了要被写入到标准输出 stdout 的文本。它可以包含嵌入的 format 标签,format 标签可被随后的附加参数中指定的值替换,并按需求进行格式化。
printf的格式控制字符串format组成如下:
%[flags][width][.prec][length]type。
即:%[标志][最小宽度][.精度][类型长度]类型。
参考资料来源:百度百科-printf
必须有,其实值就是这个__FUNCTION__这是库里的一个宏定义,会操作取函数名
下面的程序你可以运行看看,就是你想要的
#include stdio.h
#include stdlib.h
#define LOG() printf("func here %s\n", __FUNCTION__)
void func(){
LOG();
}
int main(){
LOG();
func();
//system("pause");
}
C语言输入输出函数有很多,标准I/O函数中包含了如下几个常用的函数:
scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.
int
scanf(const
char
*format,
arg_list)
scanf主要从标准输入流中获取参数值,format为指定的参数格式及参数类型,如scanf("%s,%d",str,icount);
它要求在标准输入流中输入类似"son
of
bitch,1000"这样的字符串,同时程序会将"son
of
bitch"给str,1000给icount.
scanf函数的返回值为int值,即成功赋值的个数,在上例中如果函数调用成功,则会返回2,所以我们在写程序时,可以通过
语句if(scanf("%s,%d",str,icount)
!=
2){...}来判断用户输入是否正确.
int
printf(const
char
*format,
arg_list)
printf主要是将格式化字符串输出到标准输出流中,在stdio.h头文件中定义了标准的输入和输出,分别是stdin,stdout.
arg_list可以是变量名,也可以是表达式,但最终都会以值的形式填充进format中.
int
getc(FILE
*fp)
getc主要是从文件中读出一个字符.常用的判断文件是否读取结束的语句为:(ch
=
getc(fp))
!=
EOF.EOF为文件结束标志,
定义在stdio.h中,就像EXIT_SUCCESS,EXIT_FAILURE定义在stdlib.h中一样,文件也可以被理解为一种流,所以当fp为stdin
时,getc(stdin)就等同于getchar()了.
int
putc(int
ch,FILE
*fp)
putc主要是把字符ch写到文件fp中去.如果fp为stdout,则putc就等同于putchar()了.
int
getchar(void)
getchar主要是从标准输入流读取一个字符.默认的标准输入流即stdio.h中定义的stdin.但是从输入流中读取字符时又
涉及到缓冲的问题,所以并不是在屏幕中敲上一个字符程序就会运行,一般是通过在屏幕上敲上回车键,然后将回车前的字符
串放在缓冲区中,getchar就是在缓冲区中一个一个的读字符.当然也可以在while循环中指定终止字符,如下面的语句:
while
((c
=
getchar())
!=
'#')这是以#来结束的.
int
putchar(int
ch)
putchar(ch)主要是把字符ch写到标准流stdout中去.
char
*
gets(char
*str)
gets主要是从标准输入流读取字符串并回显,读到换行符时退出,并会将换行符省去.
int
puts(char
*str)
puts主要是把字符串str写到标准流stdout中去,并会在输出到最后时添加一个换行符.
char
*fgets(char
*str,
int
num,
FILE
*fp)
str是存放读入的字符数组指针,num是最大允许的读入字符数,fp是文件指针.fgets的功能是读一行字符,该行的字符数
不大于num-1.因为fgets函数会在末尾加上一个空字符以构成一个字符串.另外fgets在读取到换行符后不会将其省略.
int
fputs(char
*str,
file
*fp)
fputs将str写入fp.fputs与puts的不同之处是fputs在打印时并不添加换行符.
int
fgetc(FILE
*fp)
fgetc从fp的当前位置读取一个字符.
int
fputc(int
ch,
file
*fp)
fputc是将ch写入fp当前指定位置.
int
fscanf(FILE
*fp,
char
*format,...)
fscanf按照指定格式从文件中出读出数据,并赋值到参数列表中.
int
fprintf(FILE
*fp,
char
*format,...)
fprintf将格式化数据写入流式文件中.
我做过用电脑传数据到U盘和单片机的程序,用的是C语言的fopen()和fwrite()函数。你可以试一下这两个函数,基本的写法如下:
# include"STDIO.H"
# include"PROCESS.H"
# include"DATA.H"
#define DATA_SIZE 240*320
void main()
{
FILE *fp;
unsigned long i;
char Dat;
fp=fopen("COM6","wb");
if(fp==NULL)
{
printf("打开串口失败!\n");
exit(1);
}
else
{
printf("串口打开成功!\n");
printf("开始传输数据!\n");
for(i=0;iDATA_SIZE; i++)
{
Dat=Dat_Buf[i];
fwrite(Dat,sizeof(char),1,fp);
}
printf("数据传输结束!\n");
fclose(fp);
}
}
程序就类似于这种,你的打印机有什么特别的要求,你还要自己琢磨一下。