程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言入門知識 >> C語言之可變參實現scanf函數

C語言之可變參實現scanf函數

編輯:C語言入門知識

既然有printf函數可變參實現,那就一定有scanf函數的可變參實現。廢話不多說,源碼奉上:

本源碼不過多分析,如要明白原理,請翻本博客以往的文章看說明。

#include 
#include 

int myscanf(const char *fmt , ...) ;

int main(void)
{
	int num ;
	printf("pls input num:\n"); 
	myscanf("%d",&num);
	printf("num:%d\n",num);
	return 0 ;
}
//以下的實現方法我就不多做解釋了,以往的博客寫得很詳細,翻翻就可以看懂,不難。
int myscanf(const char *fmt , ...)
{
	va_list ap ; 
	int ret ; 
	va_start(ap , fmt);
	ret = vscanf(fmt,ap); //這裡調用了C庫的vscanf函數,以後找到它再把它弄出來,分析方法和vprintf雷同。
	va_end(ap);
	return ret ;
}
運行結果:

輸入100,輸出100,用myscanf函數來輸入

\

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved