如何在 C++ 中使用 scanf() & printf()

首先,在 VS2017 中,使用 C 語言的輸入函數 scanf(),程序會報錯,解決辦法是:

  1. 在代碼的最頂行寫入 #define _CRT_SECURE_NO_WARNINGS
  2. 屬性 —> C/C++ —> 預處理器,右側 預處理器定義 右側添加上:_CRT_SECURE_NO_DEPRECATE

在這裏插入圖片描述
3. 在新建項目時取消勾選“SDL檢查”
4. 若項目已建立好,在項目屬性裏關閉SDL也行
5. 在項目屬性----C/C++ ----命令行中添加:/D _CRT_SECURE_NO_WARNINGS

其次,在調用 printf() 與 scanf() 的時候不一定要包含 #include<stdio.h>

#include<iostream>
#include<string>
using namespace std;
int main(){ // 這些 C++ 基礎頭文件即可
	char str[100];
	int i;

	printf("Enter a value :");
	scanf("%s %d", str, &i);

	printf("\nYou entered: %s %d ", str, i);
	printf("\n");
	system("pause");
}

最後,簡單介紹一下 printf() 與 scanf() 的用法

printf() 的用法:printf(“格式控制字符串”,輸出參數一,輸出參數二);
printf("You entered: %s %d ", str, i);

格式控制字符串包含:格式控制說明,普通字符

格式控制說明:按指定的格式輸出數據,包含以 % 開頭的格式控制字符,
不同類型的數據採用不同的格式控制字符( int 型用 %d , float 和 double 用 %f )

普通字符:在輸出數據的時候,按照原樣輸出的字符
如:"You entered: %s %d " 中的 You entered:

scanf() 的用法:scanf(“格式控制字符串”,輸入參數一,輸入參數二);

格式控制字符串包含:格式控制說明,普通字符

格式控制字符串:同 printf() ( int 型用 %d , float 用 %f , double 型用 %lf )

普通字符:同 printf() ,但輸入的參數是變量的地址,所以要在變量前面加&)

  1. 格式控制說明
    %d 十進制有符號整數
    %u 十進制無符號整數
    %f 浮點數
    %s 字符串
    %c 單個字符
    %p 指針的值
    %e 指數形式的浮點數
    %x, %X 無符號以十六進制表示的整數
    %0 無符號以八進制表示的整數
    %g 自動選擇合適的表示法
  2. 一些特殊規定字符
    \n 換行
    \f 清屏並換頁
    \r 回車
    \t Tab符
    \xhh 表示一個ASCII碼用16進表示,
    其中hh是1到2個16進制數

1.printf(“fahr=%d,celsius=%d\n” ,fahr,celsius);

在這裏插入圖片描述
2.printf(“enter x(x>=0):\n”);
在這裏插入圖片描述
3. printf(“y=f(%f)=%.2f\n”,x,y);

%f指定以小數形式輸出浮點型數據,保留的是6位小數,而%.2f則指定輸出的時候保留2位小數
在這裏插入圖片描述
4. printf(",%04d",D[i]);

%04d 表示在輸出一個小於4位的數值時, 將在前面補0使其總寬度爲4位。

5.scanf("%lf",&x);//讀取輸入

調用scanf()函數輸入數據,變量名 x 前面要加 &, %lf 中的 l 是 long 的首字母,
scanf() 函數的輸入參數必須和格式控制字符串中的格式控制說明相對應,並且它們的類型,個數和位置要一一對應。
scanf("%d%d%lf",&x,&y,&z)表示輸入的x是int型的,y是int型的,z是double型的,這個就是一一對應

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章