色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C語言可變形參是什么

嵌入式技術(shù) ? 來源:嵌入式技術(shù) ? 作者:嵌入式技術(shù) ? 2022-08-18 21:40 ? 次閱讀

C語言可變形參

??C語言允許定義參數(shù)數(shù)量可變的函數(shù),這稱為可變參數(shù)函數(shù)(variadic function)。這種函數(shù)需要固定數(shù)量的強(qiáng)制參數(shù)(mandatory argument),后面是數(shù)量可變的可選參數(shù)(optional argument)。

1.可變形參相關(guān)函數(shù)

#include 
void va_start(va_list ap, last);
type va_arg(va_list ap, type);
void va_end(va_list ap);
void va_copy(va_list dest, va_list src);

?va_start完成ap指針初始化,以供va_arg和va_end后續(xù)使用,該函數(shù)必須先調(diào)用。參數(shù)last是變量參數(shù)列表前最后一個參數(shù)的名稱;
va_arg實現(xiàn)下一個參數(shù)的類型和值的獲取。參數(shù)ap是由va_start初始化的參數(shù)列表。對va_arg()的每次調(diào)用都會修改ap,以便獲取下一個參數(shù)。參數(shù)類型type是一個指定的數(shù)據(jù)類型。
va_end將ap指向NULL。
va_copy將參數(shù)列表src復(fù)制到dest中,該函數(shù)在c99才有定義。

2.可變形參模仿printf函數(shù)

#include 
#include 
void my_printf(const char *fmt,...);
int main()
{
	my_printf("%s\n","123456");
	my_printf("%d %%\n",55);
	my_printf("%f\n",789.56);
	my_printf("%c\n",'c');
	my_printf("%ld,%lf\n",1234567890123,45.789625);
}
void my_printf(const char *fmt,...)
{
	va_list ap;
	va_start(ap,fmt);//ap=fmt
	char c,*s;
	int d;
	float f;
	long l;
	double b;
	while(*fmt)
	{
		if(*fmt!='%')
		{
			putchar(*fmt);//輸出%前所有字符
		}
		else 
		{
			fmt++;//跳過%
			switch(*fmt)
			{
				case 'c'://字符
					c=(char )va_arg(ap,int);//字符存儲時按int空間處理
					fprintf(stdout,"%c",c);
					break;
				case 'd'://整數(shù)
					d=va_arg(ap,int);
					fprintf(stdout,"%d",d);
					break;
				case 'f'://浮點數(shù)
					f=(float)va_arg(ap,double);//浮點數(shù)據(jù)處理時按double處理
					fprintf(stdout,"%f",f);
					break;
				case '%'://%%
					putchar(*fmt);
					break;
				case 's'://字符串
					s=va_arg(ap,char *);
					fprintf(stdout,"%s",s);
					break;
				case 'l':
					fmt++;
					if(*fmt=='d')//長整形%ld
					{
						l=va_arg(ap,long);
						fprintf(stdout,"%ld",l);
					}
					else if(*fmt=='f')//雙精度浮點型%lf
					{
						b=va_arg(ap,double);
						fprintf(stdout,"%lf",b);
					}
					break;
			}
		}
		fmt++;
	}
	va_end(ap);//ap=NULL
}

??運行效果:

[wbyq@wbyq 0414work]$ gcc main.c 
[wbyq@wbyq 0414work]$ ./a.out 
123456
55 %
789.559998
c
1234567890123,45.789625

審核編輯 黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7605

    瀏覽量

    136894
收藏 人收藏

    評論

    相關(guān)推薦

    電壓放大器在可變形機(jī)翼縮比模型主動變形實驗中的應(yīng)用

    實驗名稱:可變形機(jī)翼縮比模型主動變形實驗驗證研究方向:介紹了可用于低速風(fēng)洞實驗要求的可變形縮比模型的設(shè)計方案,以及粘接MFC致動器之后,可變形機(jī)翼縮比模型在1500V電壓驅(qū)動下的主動
    的頭像 發(fā)表于 09-30 14:45 ?1681次閱讀
    電壓放大器在<b class='flag-5'>可變形</b>機(jī)翼縮比模型主動<b class='flag-5'>變形</b>實驗中的應(yīng)用

    C語言——可變參數(shù)問題.

    ;The value is %d!\n", value);  這種可變參數(shù)可以說是C語言一個比較難理解的部分,這里會由幾個問題引發(fā)一些對它的分析。   注意:在C++中有函數(shù)重載(ov
    發(fā)表于 04-20 15:17

    C語言可變參數(shù)的定義

    C語言可變參數(shù)的定義。//可變參數(shù)用...來表示void TRACE(char *format, ...)(2)可變參數(shù)函數(shù)需要用到的宏
    發(fā)表于 07-14 07:43

    怎么設(shè)計c語言可變長參數(shù)函數(shù)?

    怎么設(shè)計c語言可變長參數(shù)函數(shù)
    發(fā)表于 10-27 07:10

    可變形電池正在研發(fā),彎曲手機(jī)更近了

    日前韓國科學(xué)家發(fā)表了論文,稱“世界上首款”可變形鋰電池的研發(fā)工作非常順利,這款產(chǎn)品的性能已經(jīng)相對穩(wěn)定。該產(chǎn)品的研發(fā)為今后可變形手機(jī)的到來奠定了基礎(chǔ)。根據(jù)韓國聯(lián)合通
    發(fā)表于 01-16 10:10 ?795次閱讀

    基于稀疏表示的可變形部件模型目標(biāo)檢測

    基于可變形部件模型DPM的目標(biāo)檢測算法采用方向梯度直方圖HOG進(jìn)行特征表示,由于HOG無法處理模糊的邊界而且忽略了平滑的特征區(qū)域,從而影響了DPM算法的性能。為了提高DPM的性能,提出了一種基于稀疏
    發(fā)表于 11-21 16:52 ?11次下載

    融合分支定界的可變形部件模型的行人檢測

    針對可變形部件模型(DPM)算法在行人檢測領(lǐng)域中的檢測精度高,但由于在特征提取和行人定位兩步中的計算量過大,導(dǎo)致檢測速度過慢而不能應(yīng)用于實時行人檢測的問題,提出了一種融合分支定界算法和級聯(lián)
    發(fā)表于 11-30 15:52 ?0次下載

    基于可變形卷積網(wǎng)絡(luò)的恒星大氣物理參數(shù)檢測

    基于可變形卷積網(wǎng)絡(luò)的恒星大氣物理參數(shù)檢測
    發(fā)表于 06-18 14:53 ?15次下載

    基于可變形卷積網(wǎng)絡(luò)的恒星大氣物理參數(shù)測量

    基于可變形卷積網(wǎng)絡(luò)的恒星大氣物理參數(shù)測量
    發(fā)表于 07-02 16:07 ?14次下載

    C語言-函數(shù)的定義、聲明、傳

    C語言里函數(shù)是非常重要的知識點,一個完整的C語言程序就是由主函數(shù)和各個子函數(shù)組成的,主函數(shù)調(diào)用子函數(shù)完成各個邏輯功能。 這篇文章作為C
    的頭像 發(fā)表于 08-14 09:57 ?1958次閱讀

    C語言-函數(shù)的可變形(不定形)

    這篇文章介紹C語言函數(shù)的不定參數(shù)、可變參數(shù) 形,實現(xiàn)printf一樣的傳效果。
    的頭像 發(fā)表于 08-14 09:58 ?2679次閱讀

    C語言-指針作為函數(shù)形類型

    C語言函數(shù)里最常用就是指針傳和返回地址,特別是字符串處理中,經(jīng)常需要封裝各種功能函數(shù)完成數(shù)據(jù)處理。
    的頭像 發(fā)表于 08-14 10:05 ?1903次閱讀

    C語言可變參數(shù)的使用詳解

    c/c++語言具備一個不同于其他編程語言的的特性,即支持可變參數(shù)。
    的頭像 發(fā)表于 03-08 09:47 ?1640次閱讀

    C語言函數(shù)參數(shù)介紹

    C語言數(shù)組元素作函數(shù)實參 數(shù)組元素可以用作函數(shù)實參,不能用作形C語言在用數(shù)組元素作函數(shù)實參時,把實參的值傳給形
    的頭像 發(fā)表于 03-10 14:30 ?2397次閱讀

    C語言中的可變參數(shù)介紹

    C 語言為這種情況提供了一個解決方案,它允許您定義一個函數(shù),能根據(jù)具體的需求接受可變數(shù)量的參數(shù)
    發(fā)表于 02-28 14:00 ?311次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>中的<b class='flag-5'>可變</b>參數(shù)介紹
    主站蜘蛛池模板: 内射少妇三洞齐开| 亚洲欧美另类无码专区| 最近中文字幕在线中文高清版| 精品久久伦理中文字幕| 一本之道高清视频在线观看| 久久久96| av影音先锋天堂网| 四川少妇大战4黑人| 黑人操白逼| 97豆奶视频国产| 十分钟在线观看免费视频高清WWW| 国产三级在线观看免费| 中国xxxxxxxxx孕交| 青青草原国产| 国产亚洲欧美在线中文BT天堂网| 伊人大香线蕉影院在线播放| 欧美日韩久久久精品A片| 国产精品久久久久久人妻精品蜜桃| 亚洲免费在线视频| 欧美成人猛片aaaaaaa| 国产亚洲精品欧洲在线视频| 在线亚洲免费| 双腿打开揉弄高潮H苏安安秦慕深| 精品午夜寂寞影院在线观看| china18一19 第一次| 亚洲AV怡红院影院怡春院| 蜜桃传媒星空传媒在线播放| 国产成人综合网在线观看| 最近中文字幕免费高清MV视频 | 久久婷婷色香五月综合激情| jizz中国女人| 一个人在线观看免费视频| 日日久久狠狠8888偷偷色| 久久re热线视频精品99| 国产XXXXXX农村野外| 91免费永久在线地址| 亚洲国产精品久久人人爱| 漂亮的av女演员| 久久婷婷五月综合色精品首页 | 激情办公室| 国产成人在线播放视频|