日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

C语言中的可变参数

發布時間:2025/4/16 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言中的可变参数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?我在學C語言的時候對函數printf()特別好奇,因為它后面的參數是可以變的,很長一段時間我也不明白這是怎么實現的,現在附帶說明,寫得有點不倫不類: # include<iostream> # include<stdarg.h> using namespace std;double Add(int first, ...) {va_list para;va_start(para, first);double sum = first;sum += va_arg(para, int);sum += va_arg(para, double);sum += va_arg(para, double);va_end(para);return sum; }int main() {printf("%.1lf\n", Add(1, 3, 3.1, 3.2));system("PAUSE");return 0; }


關鍵使用到了三個宏,va_start(),va_arg(),va_end(),以及一個va_list類型,這三個宏定義在stdarg.h中。這是C標準庫的一部分。

va_start(va_list para, first_argu) 這個宏類似于創建一個“流”對象,并要用可變參數前面的一個參數初始化。具體實現我也不清楚。

va_arg(va_list para, type) 這個宏類似于從“流”中提取可變參數,type是可變參數類型。

va_end(para) 關閉“流”

總結

以上是生活随笔為你收集整理的C语言中的可变参数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。