1樓:
int scanf( const char *format, ... );
scanf()函式是格式化輸入函式,它從標準輸入裝置(鍵盤) 讀取輸入的資訊。
其呼叫格式為: scanf("《格式化字串》",《地址表》);
函式 scanf() 是從標準輸入流 stdio 中讀內容的通用子程式,可以讀入全部固有型別的資料並自動轉換成機內形式。
你的下面這個呼叫才是對的:
這裡卻沒有提示要我初始化,執行正常*/
上面的呼叫是錯的:
提示我這裡的兩個變數要初始化*/
當然ibegin,icount沒有初始化啦。
2樓:匿名使用者
你這句把變數都寫到字串裡面了,提示的應該不是要你初始化,而是說缺少引數吧
這樣寫完全沒有問題,寫入未定義的變數不會提示未初始化的,放心。
3樓:狼族遺孤
輸入語句應該是
引號的位置錯了引號裡面應該是輸入格式符,後面是儲存地址
用int 定義的變數不必初始化
4樓:匿名使用者
應該都要初始化吧,因為要考慮scanf出錯的可能性
在c語言scanf 語句中輸入控制符必須和變數的資料型別保持一致嗎?
5樓:
必須保持一致,否則統統出錯,函式立即返回已成功接收併為對應變數賦值的個數,對後續的變數列表不再理會。
6樓:gta小雞
scanf讀取的變數型別必須和格式定義符一致,否則會導致讀入失敗,甚至程式死迴圈。
printf傳入的變數型別不一定和控制符型別一致。例如,若傳入的是字元,而使用%d輸出,則將輸出該字元的ascii值。其他情況更復雜一些。
若定義double i=2.1並傳入到printf,採用%d輸出,將以有符號整型輸出i的低32位的值。最終結果是-858993459。
7樓:匿名使用者
沒錯,是的
~~~~~~
為什麼在c語言中,用scanf輸入字串時,不需加&
8樓:匿名使用者
舉例:char str[256];
scanf("%s",str);
其中str是陣列名,已經代表陣列的起始地址了,也可以這麼寫:
scanf("%s",&str[0]);
9樓:金色潛鳥
因為字串變數名在 scanf 語句裡 表示指標 (地址)
例如:char s[80];
scanf("%s",s); --- 這裡的s 已是地內址。
當然,寫成容 scanf("%s",&s[0] ); 也可以, &s[0] 是地址。
10樓:匿名使用者
這個問題現在告訴你也聽不明白。。。
c語言中用scanf函式輸入字串後用strcmp函式比較
那個抄,字串是襲 有結尾符的啊 bai。長du度應該 zhi宣告為3.int main 字元陣列不能用這bai樣du 的方式賦值,b ab 並且字元數zhi組的長dao度版要比,實際長度 1,因為系統會在數權組內部自動加一個 0 作為字串的結束標誌,它佔一個空間,你如進行賦值的話用 可以用gets和...
c語言中scanf和printf函式的問題關於雙精度
其實嚴格來說 兩個是一樣的 輸入的時候要用 lf 輸出的時候也要用 lf 的 f能輸出double 我也不懂 哈哈 你就按照 double 對應 lf 理解就可以了能輸出不影響 lf 不能輸入輸出double的時候再問也不遲 lf長浮點型,f浮點型 1f 小數點後1位 如果是 輸出printf 的輸...
c語言中怎樣輸入大於號,小於號,C語言中怎樣輸入大於號,小於號
輸入大於號和小於號,只要在英文輸入狀態下,按 鍵即輸入小於號,按 鍵即輸入大於號。按住shift鍵不放,再按 鍵 在鍵盤上找到就往進輸,一樣的。就是 和 號啊 和平時一樣的吧 倒 問題深了 是一樣的 暈了 具有討論性嗎?大於號,小於號怎麼打出來 大於號小於號怎麼打出來 1 按住鍵盤的shift 鍵,...