c語言是函數(shù)式語言,所以函數(shù)很重要,舉個例子 #includestdio.h int abc(int a ,int b) /* abc 前的 int 表示這個函數(shù)的返回值是整數(shù),abc 是函數(shù)名稱,括號里的是定義了兩個參數(shù)它們都是整數(shù)*/ { int a=123; printf("%d",a); } 這個是我們自己寫的函數(shù),還有現(xiàn)成的c庫函數(shù),直接調(diào)用就行,限于篇幅,其實你仔細(xì)的摳書,書上都有,我就是看書學(xué)會的

公司主營業(yè)務(wù):成都做網(wǎng)站、成都網(wǎng)站設(shè)計、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出斗門免費做網(wǎng)站回饋大家。
首先說一下, 這道題目的答案是:C
接下來我們了解下?scanf (...) 函數(shù)
函數(shù)原型 :
int?scanf(const?char?*?restrict?format,...);
1、函數(shù) scanf() 是從標(biāo)準(zhǔn)輸入流stdin (標(biāo)準(zhǔn)輸入設(shè)備,一般指向鍵盤)中讀內(nèi)容的通用子程序,可以說明的格式讀入多個字符,并保存在對應(yīng)地址的變量中。
2、函數(shù)的第一個參數(shù)是格式字符串,它指定了輸入的格式,并按照格式說明符解析輸入對應(yīng)位置的信息并存儲于可變參數(shù)列表中對應(yīng)的指針?biāo)肝恢谩C恳粋€指針要求非空,并且與字符串中的格式符一一順次對應(yīng)。
返回值 :
scanf函數(shù)返回成功讀入的數(shù)據(jù)項數(shù),讀入數(shù)據(jù)時遇到了“文件結(jié)束”則返回EOF。
如:scanf("%d?%d",a,b);
1、函數(shù)返回值為int型。如果a和b都被成功讀入,那么scanf的返回值就是2;
2、如果只有a被成功讀入,返回值為1;
3、如果a和b都未被成功讀入,返回值為0;
4、如果遇到錯誤或遇到end of file,返回值為EOF。end of file為Ctrl+z 或者Ctrl+d。
由上面的知識點可以,輸入位置的變量應(yīng)該是要寫成指針類型的(表示取地址)。
int 類型取址是用的是n,? 而char c[5]是數(shù)組類型,其地址本身就是 c(同時也是數(shù)組名)。
如果以上對你有幫助,請采納一下, 謝謝。
C語言中兩種方法都可以,但有區(qū)別scanf("%s",s)是讀取不到空格的。而gets(s)可以讀取。
兩種方法都是一個一個字符讀取的。不同的是scanf是遇到空格或者回車鍵就會結(jié)束,但gets是只有輸入回車鍵才會終止讀取字符串!下面是例子:
#include stdio.h
int main()
{
char x[10];
scanf("%s",x);
printf("%s",x);
return 0;
}
下面是gets;
#include stdio.h
int main()
{
char x[10];
gets(x);
printf("%s",x);
return 0;
}
n = scanf("%d",n);
這一句有問題
1. scanf 函數(shù)是有返回值的,它的返回值可以分成三種情況
1) 正整數(shù),表示正確輸入?yún)?shù)的個數(shù)。
例如執(zhí)行 scanf(“%d %d”, a, b);
如果用戶輸入”3 4”,可以正確輸入,返回2(正確輸入了兩個變量);
如果用戶輸入”3,4”,可以正確輸入a,無法輸入b,返回1(正確輸入了一個變量)。
2) 0,表示用戶的輸入不匹配,無法正確輸入任何值。如上例,用戶如果輸入”,3 4”,返回0。
3) EOF,這是在 stdio.h 里面定義的常量(通常值為-1),表示輸入流已經(jīng)結(jié)束。在Windows下,用戶按下CTRL+Z(會看到一個^Z字符)再按下回車(可能需要重復(fù)2次),就表示輸入結(jié)束;Linux/Unix下使用CTRL+D表示輸入結(jié)束。
你這個輸入一個返回值就是1,因此n也會一直等于一
getc():
調(diào)用方式:int getc(FILE *stream)
它返回指定輸入流stream的當(dāng)前位置的下一個字符,并增加文件的位置指示器.
getch():
調(diào)用方式:int getch(void)
getch()從控制臺讀取一個字符,但不把該字符顯示在屏幕上,也就是不回顯.
getche():
調(diào)用方式:int getche(void)
getche()從控制臺讀取一個字符,把該字符顯示在屏幕上,也就是回顯.
getchar():
調(diào)有方式:int getchar(void)
getchar()從控制臺讀取一個字符,并回顯,它和getch(),getche()的不同在于,它等到輸入一個回車才結(jié)束,就算你輸入了一個字符串,它也只取其中的第一個字符.
getchar()頭文件為string.h,即需有# includestring.h
其他的頭文件為conio.h
呃,你可以使用追問嗎~我這太不方便了,請問你用的什么編譯器?
呃,這樣子啊,對gcc我不清楚了就,也許其不支持或者文件庫不一樣,你可以針對查查,
在vc中我試了沒有問題。。。
C語言輸入輸出函數(shù)有很多,bai標(biāo)準(zhǔn)I/O函數(shù)du中包含了如下幾個常用的函數(shù):
scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.
int scanf(const char *format, arg_list)
scanf主要從標(biāo)準(zhǔn)zhi輸入流中獲取dao參數(shù)值,format為指定的參數(shù)格式及參數(shù)類型,如scanf("%s,%d",str,icount);
它要求在標(biāo)準(zhǔn)輸入流中輸入類似"son of bitch,1000"這樣的字符串,同時程序會將"son of bitch"給str,1000給icount.
scanf函數(shù)的返回值為int值,即成功賦值的個數(shù),在上例中如果函數(shù)調(diào)用成功,則會返回2,所以我們在寫程序時,可以通過
語句if(scanf("%s,%d",str,icount) != 2){...}來判斷用戶輸入是否正確.
int printf(const char *format, arg_list)
printf主要是將格式化字符串輸出到標(biāo)準(zhǔn)輸出流中,在stdio.h頭文件中定義了標(biāo)準(zhǔn)的輸入和輸出,分別是stdin,stdout.
arg_list可以是變量名,也可以是表達(dá)式,但最終都會以值的形式填充進(jìn)format中.
int getc(FILE *fp)
getc主要是從文件中讀出一個字符.常用的判斷文件是否讀取結(jié)束的語句為:(ch = getc(fp)) != EOF.EOF為文件結(jié)束標(biāo)志,
定義在stdio.h中,就像EXIT_SUCCESS,EXIT_FAILURE定義在stdlib.h中一樣,文件也可以被理解為一種流,所以當(dāng)fp為stdin
時,getc(stdin)就等同于getchar()了.
int putc(int ch,FILE *fp)
putc主要是把字符ch寫到文件fp中去.如果fp為stdout,則putc就等同于putchar()了.
int getchar(void)
getchar主要是從標(biāo)準(zhǔn)輸入流讀取一個字符.默認(rèn)的標(biāo)準(zhǔn)輸入流即stdio.h中定義的stdin.但是從輸入流中讀取字符時又
涉及到緩沖的問題,所以并不是在屏幕中敲上一個字符程序就會運行,一般是通過在屏幕上敲上回車鍵,然后將回車前的字符
串放在緩沖區(qū)中,getchar就是在緩沖區(qū)中一個一個的讀字符.當(dāng)然也可以在while循環(huán)中指定終止字符,如下面的語句:
while ((c = getchar()) != '#')這是以#來結(jié)束的.
int putchar(int ch)
putchar(ch)主要是把字符ch寫到標(biāo)準(zhǔn)流stdout中去.
char * gets(char *str)
gets主要是從標(biāo)準(zhǔn)輸入流讀取字符串并回顯,讀到換行符時退出,并會將換行符省去.
int puts(char *str)
puts主要是把字符串str寫到標(biāo)準(zhǔn)流stdout中去,并會在輸出到最后時添加一個換行符.
char *fgets(char *str, int num, FILE *fp)
str是存放讀入的字符數(shù)組指針,num是最大允許的讀入字符數(shù),fp是文件指針.fgets的功能是讀一行字符,該行的字符數(shù)
不大于num-1.因為fgets函數(shù)會在末尾加上一個空字符以構(gòu)成一個字符串.另外fgets在讀取到換行符后不會將其省略.
int fputs(char *str, file *fp)
fputs將str寫入fp.fputs與puts的不同之處是fputs在打印時并不添加換行符.
int fgetc(FILE *fp)
fgetc從fp的當(dāng)前位置讀取一個字符.
int fputc(int ch, file *fp)
fputc是將ch寫入fp當(dāng)前指定位置.
int fscanf(FILE *fp, char *format,...)
fscanf按照指定格式從文件中出讀出數(shù)據(jù),并賦值到參數(shù)列表中.
int fprintf(FILE *fp, char *format,...)
fprintf將格式化數(shù)據(jù)寫入流式文件中.
本文題目:c語言函數(shù)值的輸入 C語言輸入值
文章出自:http://chinadenli.net/article0/hghhoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、網(wǎng)站設(shè)計公司、用戶體驗、網(wǎng)站策劃、虛擬主機(jī)、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)