【示例程序】 #include <stdio.h>
void test(char *str) { int d, n, r; r = sscanf(str, "%d%n", &d, &n); // %n表示上一個操作所消耗的字符數 printf("%s: 返回值=%d, 讀取的值=%d, 讀取的字符數=%d\n", str, r, d, n); }
int main(void) { test("15"); test(" 38 27"); test("簡體中文"); test("ABCDE"); test("45.9"); test("You are a dog."); test(""); test("."); //test(NULL); // 程序出錯 return 0; } 【運行結果】 15: 返回值=1, 讀取的值=15, 讀取的字符數=2 38 27: 返回值=1, 讀取的值=38, 讀取的字符數=7 簡體中文: 返回值=0, 讀取的值=-858993460, 讀取的字符數=-858993460 ABCDE: 返回值=0, 讀取的值=-858993460, 讀取的字符數=-858993460 45.9: 返回值=1, 讀取的值=45, 讀取的字符數=2 You are a dog.: 返回值=0, 讀取的值=-858993460, 讀取的字符數=-858993460 : 返回值=-1, 讀取的值=-858993460, 讀取的字符數=-858993460 .: 返回值=0, 讀取的值=-858993460, 讀取的字符數=-858993460
|