A. c語言程序能否多次使用scanf
可以多次使用,只是你要注意,使用scanf時,回車鍵也算一次輸入,比如你這樣
char ch1,ch2;
scanf("%c",&ch1);
scanf("%c",&ch2);
你鍵盤輸入 a回車,那麼ch1==『a』,ch2==『10』;//回車鍵的ASCII碼
B. C語言全局變數時scanf 能夠輸入10個數組元素,怎麼改成了形參就只能讀取1個數組元素
C語言中直接定義的一維數組元素個數必須是固定的,不能是變數,即每月動態數組,你可以定義的時候空間用大點,只是用其中一部分部分就行
C. C語言中利用scanf語句輸入多個值的問題
1、有一個很嚴重的錯誤,輸入字元數組的兩個
scanf("%d %s %c %c",&person[i].num,&person[i].name,&person[i].sex,&person[i].job);
scanf("%s",&person[i].category.position);
2、把這兩行中字元數組輸入時前面的&符號去掉,對字元數組輸入本身就是地址,不要加&,改成這樣
scanf("%d %s %c %c",&person[i].num,person[i].name,&person[i].sex,&person[i].job);
scanf("%s",person[i].category.position);
3、其他的也沒有什麼錯誤,記著輸入時候,那幾個值之間用一個空格隔開,用scanf()函數輸入的時候,本質是,你給scanf一個地址,這個函數會根據你輸入的地址把,輸入緩沖區中的數據放在指定地址處
4、像int ,char,double,long,float這些基本類型,再分配空間的時候,只是給他們一個空間,所以用scanf()輸入的時候,要加&取地址符號,才能給他們賦值
5、然而char *,char [],這些本身是一塊區域的首地址,本身就是地址,所以用scanf時,不用加&因此,輸入裡面不需要加的只有,person[i].name,person[i].category.position兩個,其他的都是基本類型,因此都需要加
(3)c語言scanf最多輸入幾個擴展閱讀:
優缺點
1、簡潔緊湊、靈活方便
C語言一共只有32個關鍵字,9種控制語句,程序書寫形式自由,區分大小寫。把高級語言的基本結構和語句與低級語言的實用性結合起來。C 語言可以像匯編語言一樣對位、位元組和地址進行操作,而這三者是計算機最基本的工作單元。
C語言的 Hello World 程序
2、運算符豐富
C語言的運算符包含的范圍很廣泛,共有34種運算符。C語言把括弧、賦值、強制類型轉換等都作為運算符處理。從而使C語言的運算類型極其豐富,表達式類型多樣化。靈活使用各種運算符可以實現在其它高級語言中難以實現的運算。
3、數據類型豐富
C語言的數據類型有:整型、實型、字元型、數組類型、指針類型、結構體類型、共用體類型等。能用來實現各種復雜的數據結構的運算。並引入了指針概念,使程序效率更高。
4、表達方式靈活實用
C語言提供多種運算符和表達式值的方法,對問題的表達可通過多種途徑獲得,其程序設計更主動、靈活。它語法限制不太嚴格,程序設計自由度大,如對整型量與字元型數據及邏輯型數據可以通用等。
5、允許直接訪問物理地址,對硬體進行操作
由於C語言允許直接訪問物理地址,可以直接對硬體進行操作,因此它既具有高級語言的功能,又具有低級語言的許多功能,能夠像匯編語言一樣對位(bit)、位元組和地址進行操作,而這三者是計算機最基本的工作單元,可用來寫系統軟體。
6、生成目標代碼質量高,程序執行效率高
C語言描述問題比匯編語言迅速,工作量小、可讀性好,易於調試、修改和移植,而代碼質量與匯編語言相當。C語言一般只比匯編程序生成的目標代碼效率低10%~20%。
7、可移植性好
C語言在不同機器上的C編譯程序,86%的代碼是公共的,所以C語言的編譯程序便於移植。在一個環境上用C語言編寫的程序,不改動或稍加改動,就可移植到另一個完全不同的環境中運行。
8、表達力強
C語言有豐富的數據結構和運算符。包含了各種數據結構,如整型、數組類型、指針類型和聯合類型等,用來實現各種數據結構的運算。C語言的運算符有34種,范圍很寬,靈活使用各種運算符可以實現難度極大的運算。
C語言能直接訪問硬體的物理地址,能進行位(bit)操作。兼有高級語言和低級語言的許多優點。它既可用來編寫系統軟體,又可用來開發應用軟體,已成為一種通用程序設計語言。另外C語言具有強大的圖形功能,支持多種顯示器和驅動器。且計算功能、邏輯判斷功能強大。
D. C語言函數scanf_s能不能輸入多個字元串
void
main(){
char
s[10],ss[10];
scanf_s
("%[^,],%s",s,10,ss,10);
printf("%s
%s",s,ss);
}
因為你需要輸入逗號,所以對逗號應該特別處理.
E. C語言 如何在不使用數組的情況下 用scanf函數連續輸入n個數的
int max,min;
int m,n;
scanf("%d %d",&n,&m);
max=min=m;
for(int i=0;i<n-1;i++)
{scanf("%d",&m);
if(m>max)
max=m;
if(m<min)
min=m;
}
F. 循環中的scanf為什麼可一次性輸入幾個數
他並不是一次性的,是第一個scanf先讀取一個,然後由於數之間都有空格,空格被作為中止符的存在
第二個scanf跳過一個空白符進行讀取第二個這樣
G. c語言中多個scanf怎麼輸入
1、首先在打開的C語言中,寫上注釋內容,然後定義一個枚舉,enum 枚舉的名稱,如下圖所示。
H. 怎麼用C語言的scanf實現一次輸入若干個數據
int a[15],i;
for(i=0;i<15;++i)
scanf("%d",&a[i]);
I. C語言中的Scanf的用法
scanf 函數最主要的用法是:
scanf("輸入控制符", 輸入參數);
函數原型:intscanf(constchar*restrictformat,...);
函數 scanf() 是從標准輸入流stdin (標准輸入設備,一般指向鍵盤)中讀內容的通用子程序,可以說明的格式讀入多個字元,並保存在對應地址的變數中。
(9)c語言scanf最多輸入幾個擴展閱讀:
函數的第一個參數是格式字元串,它指定了輸入的格式,並按照格式說明符解析輸入對應位置的信息並存儲於可變參數列表中對應的指針所指位置。每一個指針要求非空,並且與字元串中的格式符一一順次對應。
發展:
使用scanf函數進行輸入,必須指定輸入的數據的類型和格式,不僅繁瑣復雜,而且很容易出錯。C++保留scanf只是為了和C兼容。
以便過去用C語言寫的程序可以在C++的環境下運行。C++的編程人員都願意使用cin進行輸入,很少使用scanf。
但是scanf有一個明顯的優點,速度比cin函數快。
J. 怎麼用C語言的scanf實現一次輸入若干個數據
這里我們先建一個固定長度的數組,如下圖,數組長度為1000
然後就需要用到循環了,並且設置一個按鍵「回車鍵」跳出循環。
這樣,不斷循環就可以不斷地將數字存進數組里。當我們按回車鍵的時候就會跳出循環,結束輸入。而輸入的數據就會保存在num數組之中,唯一的缺點就是數組長度是固定的。
(10)c語言scanf最多輸入幾個擴展閱讀:
在實際的編程中,往往會發生這種情況,即所需的內存空間取決於實際輸入的數據,而無法預先確定。對於這種問題,用靜態數組的辦法很難解決。
為了解決上述問題,C語言提供了一些內存管理函數,這些內存管理函數結合指針可以按需要動態地分配內存空間,來構建動態數組,也可把不再使用的空間回收待用,為有效地利用內存資源提供了手段。
動態數組是指在聲明時沒有確定數組大小的數組,即忽略方括弧中的下標;當要用它時,可隨時用ReDim語句(C語言中用malloc語句)重新指出數組的大小。使用動態數組的優點是可以根據用戶需要,有效利用存儲空間。
對於靜態數組,其創建非常方便,使用完也無需釋放,要引用也簡單,但是創建後無法改變其大小是其致命弱點!
對於動態數組,其創建麻煩,使用完必須由程序員自己釋放,否則嚴重會引起內存泄露。但其使用非常靈活,能根據程序需要動態分配大小。
因此,利用動態數組就可以避免靜態數組的長度不夠,內存溢出等問題,換言之,可以更靈活的存儲數組,這樣就可以根據輸入多少個數,創建多大的數組進行存儲。