void pri(int *p) p是數(shù)組的首指針,就是指向第一個元素的指針
創(chuàng)新互聯(lián)建站專注于香洲網站建設服務及定制,我們擁有豐富的企業(yè)做網站經驗。 熱誠為您提供香洲營銷型網站建設,香洲網站制作、香洲網頁設計、香洲網站官網定制、小程序定制開發(fā)服務,打造香洲網絡公司原創(chuàng)品牌,更為您提供香洲網站排名全網營銷落地服務。
{
int *q=p+N; 讓q是數(shù)組指向最后一個元素
for(;pq;p++) 這個循環(huán)就是從第一個到最后一個元素安格輸出
printf("%5d," *p);
printf("\n");
}
數(shù)組的名本身就是一個指針,表示數(shù)組第一個元素,咱們可以對指針進行操作
例如p + 1 就是指針向后移動一個單位,也就是指向第2個元素
現(xiàn)在明白了啊
printf后面的參數(shù)包括“格式控制字符串”和輸出變量的列表“格式控制字符串”由格式控制字符和普通字符。其中前者以%開始加某一個特殊字符。比如%d為輸出整數(shù)、%c輸出字符。普通字符是原樣輸出的內容。
輸出變量列表即為輸出的變量,其個數(shù)要與控制字符相對于。比如有int a=3,b=4,然后pritf(“a=%d,b=%d”,a,b)。
輸出結果為a=3,b=4。以printf("abc")中abc為格式控制字符串中的普通字符,原樣輸出。print(“%d”,i)為以整形輸出變量i的值。
printf命令的作用是格式化輸出函數(shù),一般用于向標準輸出設備按規(guī)定格式輸出信息。printf()函數(shù)的調用格式為:printf("格式化字符串", 參量表)。
printf()是C語言標準庫函數(shù),在 stdio.h 中定義。輸出的字符串除了可以使用字母、數(shù)字、空格和一些數(shù)字符號以外,還可以使用一些轉義字符表示特殊的含義。
擴展資料:
printf函數(shù)定義:
函數(shù)聲明:
int printf(char *format...);
調用格式:
printf("格式化字符串", 參量表);
格式化字符串包含三種對象,分別為:
(1)字符串常量;
(2)格式控制字符串;
(3)轉義字符。
字符串常量原樣輸出,在顯示中起提示作用。輸出表列中給出了各個輸出項,要求格式控制字符串和各輸出項在數(shù)量和類型上應該一一對應。其中格式控制字符串是以%開頭的字符串,在%后面跟有各種格式控制符,以說明輸出數(shù)據(jù)的類型、寬度、精度等。
格式控制字符串format:
format-- 是字符串,包含了要被寫入到標準輸出 stdout 的文本。它可以包含嵌入的 format 標簽,format 標簽可被隨后的附加參數(shù)中指定的值替換,并按需求進行格式化。
printf的格式控制字符串format組成如下:
%[flags][width][.prec][length]type。
即:%[標志][最小寬度][.精度][類型長度]類型。
參考資料來源:百度百科-printf
必須有,其實值就是這個__FUNCTION__這是庫里的一個宏定義,會操作取函數(shù)名
下面的程序你可以運行看看,就是你想要的
#include?stdio.h
#include?stdlib.h
#define?LOG()?printf("func?here?%s\n",?__FUNCTION__)
void?func(){
LOG();
}
int?main(){
LOG();
func();
//system("pause");
}
C語言輸入輸出函數(shù)有很多,標準I/O函數(shù)中包含了如下幾個常用的函數(shù):
scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.
int
scanf(const
char
*format,
arg_list)
scanf主要從標準輸入流中獲取參數(shù)值,format為指定的參數(shù)格式及參數(shù)類型,如scanf("%s,%d",str,icount);
它要求在標準輸入流中輸入類似"son
of
bitch,1000"這樣的字符串,同時程序會將"son
of
bitch"給str,1000給icount.
scanf函數(shù)的返回值為int值,即成功賦值的個數(shù),在上例中如果函數(shù)調用成功,則會返回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.但是從輸入流中讀取字符時又
涉及到緩沖的問題,所以并不是在屏幕中敲上一個字符程序就會運行,一般是通過在屏幕上敲上回車鍵,然后將回車前的字符
串放在緩沖區(qū)中,getchar就是在緩沖區(qū)中一個一個的讀字符.當然也可以在while循環(huán)中指定終止字符,如下面的語句:
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是存放讀入的字符數(shù)組指針,num是最大允許的讀入字符數(shù),fp是文件指針.fgets的功能是讀一行字符,該行的字符數(shù)
不大于num-1.因為fgets函數(shù)會在末尾加上一個空字符以構成一個字符串.另外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按照指定格式從文件中出讀出數(shù)據(jù),并賦值到參數(shù)列表中.
int
fprintf(FILE
*fp,
char
*format,...)
fprintf將格式化數(shù)據(jù)寫入流式文件中.
我做過用電腦傳數(shù)據(jù)到U盤和單片機的程序,用的是C語言的fopen()和fwrite()函數(shù)。你可以試一下這兩個函數(shù),基本的寫法如下:
# 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("開始傳輸數(shù)據(jù)!\n");
for(i=0;iDATA_SIZE; i++)
{
Dat=Dat_Buf[i];
fwrite(Dat,sizeof(char),1,fp);
}
printf("數(shù)據(jù)傳輸結束!\n");
fclose(fp);
}
}
程序就類似于這種,你的打印機有什么特別的要求,你還要自己琢磨一下。