第02天C語(yǔ)言(13):scanf-函數(shù)

一、scanf-函數(shù)
 scanf格式 : scanf("格式化字符串",列表項(xiàng)); scanf("%i",變量);
#include <stdio.h>
int main()
{
    
    /*
    // 要求 : 存儲(chǔ)用戶輸入的整數(shù)
    // 1. 用戶輸入的整數(shù)確定嗎?  --> 不確定 --> 定義變量
    // 2. 如何接受用戶輸入的整數(shù)? scanf函數(shù)
    
    // scanf格式 : scanf("格式化字符串",列表項(xiàng)); scanf("%i",變量);
    
    
    // 1.定義變量
    int number;
    // 2.利用scanf函數(shù)接受用戶輸入的數(shù)據(jù)
    scanf("%i",&number);// 注意 : 必須告訴scanf函數(shù)變量的詳細(xì)地址,才能存儲(chǔ)用戶輸入的數(shù)據(jù)
    // 3. 輸出接收到的數(shù)據(jù)
    printf("number = %i",number);
     */
    
    // 要求從控制臺(tái)接收用戶輸入的兩個(gè)整數(shù), 然后計(jì)算兩個(gè)整數(shù)的和
    /*
    // 0.提示用戶輸入數(shù)據(jù)
    printf("親,請(qǐng)輸入第一個(gè)數(shù)字,以回車結(jié)束\n");
    // 1.定義兩個(gè)變量保存用戶輸入的數(shù)據(jù)
    int num1, num2;
    // 2.利用scanf接收用戶輸入的數(shù)據(jù)
    scanf("%i",&num1);
    printf("親,請(qǐng)輸入第二個(gè)數(shù)字,以回車結(jié)束\n");
    scanf("%i",&num2);
    // 3.將接收的兩個(gè)數(shù)相加
    int result = (num1 + num2);
    // 4.輸出兩個(gè)數(shù)驗(yàn)證結(jié)果
    printf("result = %d",result);
     */
    
    /*
    int num1, num2;
    num1 = num2 = 10;
    printf("num1 = %i , num2 = %i",num1,num2);
    */
    
    /*
    printf("親,請(qǐng)輸入兩個(gè)個(gè)數(shù)字,以回車結(jié)束\n");
    // 1.定義兩個(gè)變量保存用戶輸入的數(shù)據(jù)
    int num1, num2;
    // 2.利用scanf接收用戶輸入的數(shù)據(jù)
    // 注意 : 利用scanf接收多個(gè)數(shù)據(jù)的時(shí)候,輸入的內(nèi)容要求和"格式化字符串"的一模一樣
    // 如果輸入的數(shù)據(jù) 與 格式化字符串中的不匹配, 那么scanf函數(shù)會(huì)自動(dòng)終止
    // 如果多個(gè)數(shù)據(jù)之間沒有其他字符,那么可以利用空格, 回車,table來(lái)作為分隔
    // 但是,如果格式化中有%c除外
//    scanf("%i%i",&num1,&num 2);
    
    char charValue;
    // 輸入 : 123 ->num1 , a->charValue , 456->num2
    // 技巧 : 無(wú)論想接受什么類型的數(shù)據(jù), 只要有需要一次性接收多個(gè),就給每一個(gè)數(shù)據(jù)之間加上固定符號(hào)作為分隔符(例如:,)
    scanf("%i-%c-%i",&num1,&charValue,&num2);
    
    // 3.將接收的兩個(gè)數(shù)相加
//    int result = (num1 + num2);
    // 4.輸出兩個(gè)數(shù)驗(yàn)證結(jié)果
//    printf("result = %d",result);

    printf("num1 = %i, char = %c, num2 =%i",num1,charValue,num2);
    */
    
    int number,number2;
    // \n代表?yè)Q行
    // 如何告訴scanf函數(shù)我們輸入完畢? 回車== \n
    // 因?yàn)榛剀囀莝canf的結(jié)束符, 所以不能在scanf的格式化字符串末尾寫上\n
    scanf("%i\n%i\n",&number,&number2);
    printf("number = %i number2 = %i",number,number2);
    return 0;
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容