例:使用scanf函數(shù)輸入數(shù)據(jù)。
香格里拉網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),香格里拉網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為香格里拉上千多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的香格里拉做網(wǎng)站的公司定做!
#include?stdio.h
int?main(void)
{
int?a,b,c;
printf("Give?me?the?value?of?a,b,c?seperated?with?whitespaces:\n");
scanf("%d%d%d",a,b,c);
printf("a=%d,b=%d,c=%d\n",a,b,c);
return?0;
}
a,b,c中的是尋址操作符,a表示對(duì)象a在內(nèi)存中的地址?[3]??,是一個(gè)右值。變量a,b,c的地址是在編譯階段分配的(存儲(chǔ)順序由編譯器決定)。
這里注意:如果scanf中%d是連著寫的如“%d%d%d”,在輸入數(shù)據(jù)時(shí),數(shù)據(jù)之間不可以用逗號(hào)分隔。
只能用空白字符(空格或tab鍵或者回車鍵)分隔——“2 (空格)3(tab) 4” 或 “2(tab)3(回車)4”等。若是“%d,%d,%d”,則在輸入數(shù)據(jù)時(shí)需要加“,”,如“2,3,4”。
(在有一些實(shí)現(xiàn)中,printf函數(shù)與scanf函數(shù)在使用時(shí)可以不使用預(yù)編譯命令#include stdio.h。)它是格式輸入函數(shù),即按用戶指定的格式從鍵盤上把數(shù)據(jù)輸入到指定的變量之中。
scanf 是 scan format 的縮寫,意思是格式化掃描,也就是從鍵盤獲得用戶輸入,和 printf 的功能正好相反。
擴(kuò)展資料:
scanf函數(shù)使用注意問題:
(1)在高版本的 Visual Studio 編譯器中,scanf 被認(rèn)為是不安全的,被棄用,應(yīng)當(dāng)使用scanf_s代替 scanf。
(2) 對(duì)于字符串?dāng)?shù)組或字符串指針變量,由于數(shù)組名可以轉(zhuǎn)換為數(shù)組和指針變量名本身就是地址,因此使用scanf()函數(shù)時(shí),不需要在它們前面加上""操作符。
(3) 可以在格式化字符串中的"%"各格式化規(guī)定符之間加入一個(gè)整數(shù),表示任何讀操作中的最大位數(shù)。
(4) scanf函數(shù)中沒有類似printf的精度控制。
如: scanf("%5.2f",a); 是非法的。不能企圖用此語句輸入小數(shù)為2位的實(shí)數(shù)。
(5) scanf中要求給出變量地址,如給出變量名則會(huì)出錯(cuò)
如 scanf("%d",a);是非法的,應(yīng)改為scanf("%d",a);才是合法的。
(6) 在輸入多個(gè)數(shù)值數(shù)據(jù)時(shí),若格式控制串中沒有非格式字符作輸入數(shù)據(jù)之間的間隔,則可用空格,TAB或回車作間隔。
C編譯在碰到空格,TAB,回車或非法數(shù)據(jù)(如對(duì)“%d”輸入“12A”時(shí),A即為非法數(shù)據(jù))時(shí)即認(rèn)為該數(shù)據(jù)結(jié)束。
(7) 在輸入字符數(shù)據(jù)(%c)時(shí),若格式控制串中無非格式字符,則認(rèn)為所有輸入的字符均為有效字符。
參考資料來源:百度百科-scanf
C語言的函數(shù)定義格式是:
函數(shù)返回值類型 函數(shù)名 ( 參數(shù)列表 )
{
//函數(shù)體
}
在使用函數(shù)時(shí),要先做聲明,格式如下:
函數(shù)類型 函數(shù)名稱 ( 參數(shù)列表 );
特別地,在函數(shù)聲明中的參數(shù)列表中,不需給出具體的變量名稱,但要給出每個(gè)變量的類型。
C語言源程序的編程格式歸納如下:
1,一個(gè)C語言源程序必須有且只有一個(gè)MAIN函數(shù).
2,函數(shù)名后必須緊跟圓括號(hào)對(duì),函數(shù)體放在右圓括號(hào)")"后的花括號(hào)對(duì)"{}"中.
3,每個(gè)程序體(包括函數(shù)的函數(shù)體,含有多條語句的選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)中的語句序列)必須用一對(duì)花括號(hào)括起來.
4,文件包含預(yù)處理命令,#INCLUDE*.H應(yīng)置于源程序的開始位置.
5,語句未尾必須有分號(hào),而預(yù)處理命令和函數(shù)首部的未尾及右花括號(hào)之后不要分號(hào).
6,同一字母大,小寫意義不同,關(guān)鍵字和標(biāo)準(zhǔn)庫函數(shù)名必須用小寫.
7,變量必須先定義,后使用
8,除已有明顯間隔符外,標(biāo)識(shí)符,關(guān)鍵字之間必須有至少一個(gè)空格
9,注解必須包含在"/*
*/符號(hào)之間
函數(shù)定義就是規(guī)定函數(shù)的格式與功能。
函數(shù)聲明就是在函數(shù)調(diào)用之前進(jìn)行的一種說明。
下面舉例說明兩者的語法格式:
#includestdio.h
int fun(int a, int b); // 函數(shù)的聲明
void main()
{
int x=1, y=2;
int c;
c = fun(x+y);
}
// 下面的fun函數(shù)就是函數(shù)的定義
int fun(int a, int b)
{
return a+b;
}
注:如果被調(diào)函數(shù)(上例中為fun函數(shù))寫在調(diào)用處之前,可以不聲明(本例是現(xiàn)在調(diào)用處 (c = fun(x+y);)之后)。
c語言中用戶自定義函數(shù)的格式:
函數(shù)返回類型
函數(shù)名(參數(shù)列表)
{
代碼段;
return
函數(shù)返回值;
}
例如:
int test(int value)
{
value += 10;
return value;
}
上面示例定義了一個(gè)名為test的函數(shù),其返回值為int型,參數(shù)為int型,返回值為參數(shù)與10之和。
注:函數(shù)類型為void時(shí),不可有return語句。