scanf函數使用思路

2020-12-13 剛學c語言程的猴子

俺清晰的記得俺高中那會學編程的時候,很輕鬆就學到了scanf函數了,但是因為在學校是使用手機編寫程序,沒有電腦。用起來也比較糊塗。卡了好長一段時間。當時問了好多大佬,大佬就是這樣給我說,這個就是一個輸入。接著:怎麼輸入。大佬:就是這樣輸入啊!我直接懵了,一直想不通。後面經過掌門人的指點,一下子明白了,這真的就是一個輸入。

關於這個scanf函數直接這麼說確實是不好受啊!

下面我給你來一個比喻

在沒有scanf函數的時候

#include <bits/stdc++.h>

using namespace std;

int main()

{

printf("123");//輸出

}

像上面這個程序,ta就只有輸出沒有輸入。123就是已經準備好輸出的東西,就是這個123,相當於你在考試的時候,作文寫得特別好的好,然後老師拿給同學讀。就會完整的按照123讀出來。在這個程序還沒有運行的時候,可以把123改成任何東西都可以。運行以後就只能輸出123了。

那麼帶有scanf的呢!

#include <bits/stdc++.h>

using namespace std;

int main()

{

int n; scanf("%d",&n);//輸入

printf("%d",n);//輸出

}

像上面這個程序,ta就只有輸出沒有輸入。123就是已經準備好輸出的東西,就是這個123,相當於你在考試的時候,作文寫得特別好的好,然後老師拿給同學讀。就會完整的按照123讀出來。在這個程序還沒有運行的時候,可以把123改成任何東西都可以。運行以後就只能輸出123了。

那麼帶有scanf的呢!

#include <bits/stdc++.h>

using namespace std;

int main()

{

int n;

scanf("%d",&n);//輸入

printf("%d",n);//輸出

}

這個帶有scanf輸入函數的。這個就類似考試,這個int n 就相當於你在考數學考試的時候,考的是數學老師給你一張數學試卷,scanf("%d",&n);%d就是你只能夠使用數學的語言去作答,正所謂,考什麼試就用什麼專業知識去。比如你現在要考物理試,就只能用物理課上學到的知識去回答,總不能用化學的知識吧,現在你要輸入一個字符串就是fsafa這個。scanf("%d",&n);中國的%d就要改成%s了。

scanf相當於是筆,你把想要寫的答案,寫在試卷n上。&n是定位在試卷,如果寫在其他地方,那都不行。

printf("%d",n);當你寫完上交以後,試卷老師改完發下來,要是沒有錯誤,滿分就是相當於程序沒有報錯,你所能看到的還是你寫的東西。

執行這個代碼以後

會彈出一個窗口,你輸入一個3

最終結果還是輸出一個3。不管輸入什麼只要輸入的內容和%d對應就可以了。

輸入+輸出的樣子

第一個3是我手動敲上去的,最後的結果就是輸出一個3

如果我把第一個3改成6,那麼最後輸出的就是6

建議動手試一試!

這只是我個人的理解,如果有不足的地方,各位還望各位哥哥姐姐們海涵,指出小弟的不足,就是不要噴我,我臉皮薄!?

相關焦點

  • 51單片機實現scanf和printf函數
    最開始學習C語言時,使用printf和scanf進行格式化輸入輸出十分方便。,在單片機啟動後,首先進行串口初始化,接著就可以使用printf了……是不是很簡單……-------------------------------------------------------------------------------------------------------------------------------------2.下面再看scanf
  • 關於scanf()函數的返回值
  • ios從入門到放棄之C基礎鞏固-----printf函數、scanf函數、scanf函數實現原理
    對於位寬的使用一般會搭配通配符來使用,比如數字1,可能想輸出01,也就是位寬不夠按0來補,最典型的就是日期的輸出,比如:2020-09-26,使用如下:scanf函數:格式:scanf使用注意事項: 這裡主要是關注輸入多個數的情況,有坑,先來看一下:
  • C語言 gets()和scanf()函數的區別
    scanf( )函數和gets( )函數都可用於輸入字符串,但在功能上有區別。
  • C語言中的scanf函數
    在寫代碼時總是不小心在這裡犯錯,所以特意查了一下這個函數,並且做以整理,現分享給大家。
  • 數據類型題目練習6【scanf函數的用法】
    題目:scanf函數的用法。scanf函數是我們經常會用到的函數,所以大家一定要認真學習和掌握!# define_CRT_SECURE_NO_WARNINGS# include<stdio.h># include<stdlib.h> int main1(void){ int a= 1, b = 1, c= 1; // 使用scanf之前,必須將數據初始化
  • scanf()的使用及一些注意事項
    相比較Java的鍵盤錄入,C語言的scanf有一些需要注意的細節,為了避免使用的時候踩坑,我們就來了解一下scanf。scanf()是C語言的格式輸入函數,和printf函數一樣被聲明在stdio.h頭文件中,它的基本使用很簡單:1 int a;2 scanf("%d",&a);//程序執行到這裡時,就等待用戶輸入;它接收的是變量的地址//所以一般情況下除了指針型變量和數組名要給變量加上取地址符
  • scanf()函數的一些困惑及解答
    因為getchar()函數會等待從鍵盤輸入一個字符才會結束。但是,有的時候,即使採用了getchar(),也無法停下,這時再加一個getchar()才能管用。這又是為什麼?具體到scanf()來說,就是我們輸入的內容完成後,通過一個**」換行符「**發給scanf()進行處理。比如上面的例子,我們會把"1 2 3 (換行符)「這一個字符串讓程序處理。scanf()函數處理機制scanf()函數在處理是會讀取所要處理的數字,而忽略所有的空白符(空格、tab,換行符)。
  • 關於printf和scanf函數的一些問題(含拓展)
    一、printf函數這是在stdio.h中聲明的一個函數,因此使用前必須加入#include <stdio.h>,使用它可以向標準輸出設備(比如屏幕)輸出數據。輸出寬度為8,保留1位小數 二、scanf函數這也是在stdio.h中聲明的一個函數,因此使用前必須加入#include 。
  • 嵌入式學習筆記(2)--scanf使用常見問題及解決方法
    在學習C語言的時候,printf()是我們學到的第一個函數,相信「hello world」這個例子大家都不會陌生吧,接著就是scanf()這個函數了,這個函數的功能是格式輸入,它的函數原型是
  • 【答疑釋惑】C語言中 scanf_s和 scanf 區別是什麼?
    >
  • C語言入門教程-Scanf
    scanf函數可以從標準輸入設備接受輸入。雖然scanf函數可以做許多事情,但是除了最簡單的工作外,一般而言並不很可靠。原因是它不能很好地處理人為錯誤。不過,對於簡單的程序來說,scanf還是很合適的,而且易於使用。
  • C語言中scanf函數的3種常見問題與應對技巧
    在寫代碼時總是不小心在這裡犯錯,所以特意查了一下這個函數,並且做以整理,現分享給大家。
  • C語言中的scanf與printf
    為實現這樣的操作,C語言提供了scanf與printf兩個函數,使用它們之前,一般需要包含stdio.h頭文件。語法是: #include 1. 使用scanf函數的注意事項。scanf函數的一般語法格式為 scanf(格式佔位符列表,變量地址列表),常用的格式佔位符有%d(整型數),%f(浮點型數)等。示例:1) 輸入一個整型值給變量a : scanf(「%d」,&a); //注意a前有&取地址符,因為語法格式要求此處是變量地址。
  • 3.2 C++scanf和printf
    C++的scanf輸入函數和printf輸出函數學過C語言的讀者,對scanf函數和printf函數應該都不陌生,在C語言中最常見的輸入輸出就是用的這兩個函數,同樣在C++中也可以使用這兩個函數進行輸入和輸出,但是在C++中,普遍使用的是cin和cout函數。
  • 你對scanf()的誤解!
    小編這次幫大家整理一下scanf()的二三事!首先聲明一點,scanf()與printf()相對應,是格式輸入函數,注意,格式這兩個字是有內涵的!也就是程序定義的是什麼,用戶就得輸入什麼,不能不按格式來!
  • arm串口實現 printf 和scanf函數
    問題描述:arm串口實現scanf和printf函數實現輸入一串十進位數字換成十六進位輸出功能,但是我的板子測試就是出不來extern unsigned char _ctype[]作用是把_ctype[]聲明為外部的全局變量,不但包含這個頭文件的多個文件可以使用,也避免了重複包含這個變量的作用。
  • 程式設計師編程C語言指針答疑:小心scanf函數給指針輸錯值
    1、「己他」概念和「星指組合」概念來解題這道C語言指針題看上去不是那麼馬上就能知道問題的,其實使用我提出的C語言指針「己他」概念和「星指組合」來解這道題是很簡單的。3、C程序代碼分析3.1 分析我們仔細來看第9行:scanf("%d", *pInt);我們都知道誰用scanf函數時,輸入的那個對象前要加「&」號,但是這裡沒有
  • scanf和printf格式化輸入輸出中非常實用的小技巧
    C提供的輸入輸出函數除了具有必須的輸入輸出功能外,還有一些其他實用的小技巧,了解這些小技巧將會為程序帶來更友好的用戶體驗。一、printf欄位寬度、精度修飾符當我們要輸出類似表格形式的樣式時,我們會用到欄位寬度修飾符。它能夠讓printf函數的輸出更加規整。
  • 【C語言】while(scanf("%d",&a)==1)有什麼意義
    先將我要用於講解的案例寫出來#include<stdio.h>int main(){ int a=0; while(scanf("%d",&a)==1) printf("%d\n",a); printf("end\n"); return 0;}