俺清晰的記得俺高中那會學編程的時候,很輕鬆就學到了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
建議動手試一試!
這只是我個人的理解,如果有不足的地方,各位還望各位哥哥姐姐們海涵,指出小弟的不足,就是不要噴我,我臉皮薄!?