scanf:c語言的格式輸入函數(shù)。
眉山網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,眉山網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為眉山上千余家提供企業(yè)網(wǎng)站建設(shè)服務。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務好的眉山做網(wǎng)站的公司定做!
scanf函數(shù)是C語言中最常用的一個輸入函數(shù)。與printf函數(shù)一樣,都被聲明在頭文件stdio.h里,因此在使用scanf函數(shù)時要加上#include 。
函數(shù)原型:
函數(shù) scanf() 是從標準輸入流stdio (標準輸入設(shè)備,一般指向鍵盤)中讀內(nèi)容的通用子程序,可以說明的格式讀入多個字符,并保存在對應地址的變量中。
函數(shù)的第一個參數(shù)是格式字符串,它指定了輸入的格式,并按照格式說明符解析輸入對應位置的信息并存儲于可變參數(shù)列表中對應的指針所指位置。每一個指針要求非空,并且與字符串中的格式符一一順次對應。
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)用就行,限于篇幅,其實你仔細的摳書,書上都有,我就是看書學會的
k=k0xff?0x00ff:k8;其實就是
if(k0xff) {
k=0x00ff;
}else {
k=k8;
}的簡寫。
其實0xff和0x00ff是一樣的,都表示同一個十六進制的值。
書上這么寫,沒有錯;至于為什么,就不好說了。
可能是讓你多學點知識,也可能是現(xiàn)在很多書其實在編寫時并不是很認真的。畢竟盡信書不如無書!
后面的k8是把0xff的值右移8位,達到計算的目的(具體什么目的要看具體內(nèi)容)
getc():
調(diào)用方式:int getc(FILE *stream)
它返回指定輸入流stream的當前位置的下一個字符,并增加文件的位置指示器.
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中我試了沒有問題。。。