欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

c語言中scanf的基本用法

 更新時間:2021年01月12日 10:41:25   作者:weixin_43664986  
這篇文章主要給大家介紹了關(guān)于c語言中scanf的基本用法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

scanf()是C語言的格式輸入函數(shù),和printf函數(shù)一樣被聲明在stdio.h頭文件中,它的基本使用很簡單:

1 int a;
2 scanf("%d",&a);//程序執(zhí)行到這里時,就等待用戶輸入;它接收的是變量的地址
          //所以一般情況下除了指針型變量和數(shù)組名要給變量加上取地址符&

下面主要介紹了C語言中scanf的用法和注意事項,下面來一起看看詳細的介紹吧

scanf概念

scanf是格式輸入函數(shù),功能是在屏幕上輸入指定的信息。簡單的來說和printf相似卻不相同。

scanf調(diào)用格式: scanf("<格式化字符串>",<地址表>);

如:

#include <stdio.h>
int main()
{
int a,b,c;
printf(“input three data:\n”);//使用 scanf 之前先用 printf 提示輸入。
scanf("%d%d%d",&a,&b,&c); // scanf 的“輸入?yún)?shù)”中,前面的取地址符&記住
printf("%d,%d,%d/n",a,b,c);
return 0;
}

運行時按如下方式輸入三個值:

3□4□5↙(輸入a,b,c的值)

3,4,5 (printf輸出的a,b,c的值)

(1) &a、&b、&c中的&是地址運算符,分別獲得這三個變量的內(nèi)存地址。

(2) "%d%d%d"是按十進值格式輸入三個數(shù)值。輸入時,在兩個數(shù)據(jù)之間可以用一個或多個空格、tab鍵、回車鍵分隔。

以下是合法輸入方式:

① 3□□4□□□□5↙

② 3↙

4□5↙

③ 3(tab鍵)4↙

5↙

我們常用到的字符串有:

%c 讀入一個字符。

%d 讀入十進制整數(shù)。

%f 用來輸出實數(shù),以小數(shù)形式輸出。

%lf 用來輸出實數(shù),以更長的小數(shù)形式輸出。

分享下學(xué)習(xí)中明白的注意點:

1 當定義一個字符變量時,在鍵盤上輸入一個scanf會吸收回車和空格字符,為了進行代碼的可行性需在函數(shù)結(jié)束前加函數(shù)getchar()進行吸收。例如:

定義一個字符z,是scanf是從鍵盤上獲取一個值。因為我們定義的是一個字符,所以將鍵盤上所有獲得的字符賦值給z,而空格和回車也是字符,會影響字符賦值給z,所以要在末尾加個getchar()函數(shù)進行吸收。

沒加getchar():

程序第二次進行運算時回車成了運算符了。

正確結(jié)果是:

2 scanf函數(shù)中的“格式控制”后面應(yīng)當是變量地址,而不是變量名。例如,若a和b為int型變量,如果寫成scanf("%f%f%f",a,b,c)是錯誤的。

scanf 的使用小結(jié):

1 在 scanf 的“輸入?yún)?shù)”中,變量前面的取地址符&不要忘記。

2 scanf 中雙引號內(nèi),除了“輸入控制符”外什么都不要寫。

3 “輸出控制符”和“輸出參數(shù)”無論在“順序上”還是在“個數(shù)上”一定要一一對應(yīng)。

4 “輸入控制符”的類型和變量所定義的類型一定要一致。對于從鍵盤輸入的數(shù)據(jù)的類 型,數(shù)據(jù)是用戶輸入的,程序員是無法決定的,所以在寫程序時要考慮容錯處理。

5 使用 scanf 之前先用 printf 提示輸入。

總結(jié)

到此這篇關(guān)于c語言中scanf的基本用法的文章就介紹到這了,更多相關(guān)c語言scanf用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++實現(xiàn)二叉樹非遞歸遍歷算法詳解

    C++實現(xiàn)二叉樹非遞歸遍歷算法詳解

    在C++中,二叉樹非遞歸遍歷是一種常用的算法,可避免遞歸過程中的系統(tǒng)開銷和棧溢出問題。非遞歸遍歷算法利用棧數(shù)據(jù)結(jié)構(gòu)實現(xiàn),可以實現(xiàn)前序、中序和后序遍歷,是C++程序員必備技能之一
    2023-04-04
  • c++類型轉(zhuǎn)換及RTTI運行階段類型識別

    c++類型轉(zhuǎn)換及RTTI運行階段類型識別

    這篇文章主要為大家介紹了c++類型轉(zhuǎn)換及RTTI運行階段類型識別詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪
    2023-05-05
  • C++ 中滾動條的滾動問題

    C++ 中滾動條的滾動問題

    本文主要通過一個示例,給大家介紹了C++中滾動條的滾動問題,以及相關(guān)參數(shù)的解釋,非常的詳細,有需要的小伙伴可以參考下。
    2015-06-06
  • 聊聊C++中右值引用和移動構(gòu)造函數(shù)的使用

    聊聊C++中右值引用和移動構(gòu)造函數(shù)的使用

    這篇文章主要是來和大家一起聊聊C++中右值引用和移動構(gòu)造函數(shù)的使用,文中通過示例進行了詳細講解,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-07-07
  • 淺談C++11新引入的lambda表達式

    淺談C++11新引入的lambda表達式

    Lambda表達式(又稱Lambda函數(shù),英文原文是Lambda Expression),是C++11的新特性中非常實用的一個。
    2017-07-07
  • C++保存HBITMAP為位圖文件的實現(xiàn)方法

    C++保存HBITMAP為位圖文件的實現(xiàn)方法

    這篇文章主要介紹了C++保存HBITMAP為位圖文件的實現(xiàn)方法,幫助大家更好的理解和使用c++,感興趣的朋友可以了解下
    2021-01-01
  • C++ Futures與Promises線程使用示例講解

    C++ Futures與Promises線程使用示例講解

    future和promise的作用是在不同線程之間傳遞數(shù)據(jù)。使用指針也可以完成數(shù)據(jù)的傳遞,但是指針非常危險,因為互斥量不能阻止指針的訪問;而且指針的方式傳遞的數(shù)據(jù)是固定的,如果更改數(shù)據(jù)類型,那么還需要更改有關(guān)的接口,比較麻煩
    2022-11-11
  • C中的open(),?write(),?close(),?fopen()詳解

    C中的open(),?write(),?close(),?fopen()詳解

    本文主要介紹了C語言中的open(),?write(),?close(),?fopen()等文件操作函數(shù),open()函數(shù)用于打開文件,write()函數(shù)用于寫入數(shù)據(jù),close()函數(shù)用于關(guān)閉已打開的文件描述符
    2024-10-10
  • C語言實現(xiàn)單鏈表逆序與逆序輸出實例

    C語言實現(xiàn)單鏈表逆序與逆序輸出實例

    這篇文章主要介紹了C語言實現(xiàn)單鏈表逆序與逆序輸出,是數(shù)據(jù)結(jié)構(gòu)與算法中比較基礎(chǔ)的重要內(nèi)容,有必要加以牢固掌握,需要的朋友可以參考下
    2014-08-08
  • C語言編程入門之程序頭文件的簡要解析

    C語言編程入門之程序頭文件的簡要解析

    這篇文章主要介紹了C語言編程入門之程序頭文件的簡要解析,包括頭文件重復(fù)包含問題等方面的說明,需要的朋友可以參考下
    2015-12-12

最新評論