一、c scanf用法
#include <stdio.h>
int main()
{
int num;
scanf("%d", &num);
printf("你輸入的數字是%d\n", num);
return 0;
}
c scanf函數用來提取標準輸入流中的信息,並將其存儲在給定的內存地址中。scanf函數可以把輸入的信息轉化為字元串、字元、整型、浮點型等等。在以上示例中,我們獲取了用戶輸入的數字並輸出它。
二、c scanf函數不能使用
c scanf函數不能用於提取字元串和字元數組。因為scanf函數無法保證字元串或字元數組能夠存放所有的輸入字元,同時也無法確定輸入的結束標誌。所以,對於字元串和字元數組,我們必須限定最大字元數。
三、c scanf 數組
#include <stdio.h>
int main()
{
int len;
scanf("%d", &len);
int arr[len];
for (int i = 0; i < len; i++) {
scanf("%d", &arr[i]);
}
for (int i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
return 0;
}
在我們需要使用數組時,我們可以先從輸入流中讀取需要輸入元素的個數,然後對此使用動態分配數組進行存放。以上示例中,我們先輸入一個數字用於確定數組長度,然後創建數組,並使用for循環對數組進行初始化。最後,我們輸出該數組的每個元素。
四、c scanf 教程
c scanf函數教程:
- 使用%s讀取字元串
- 使用%c讀取單個字元
- 使用%d讀取整數
- 使用%f或%lf讀取浮點數
- 使用%o讀取八進位數
- 使用%x或%X讀取十六進位數
五、c scanf返回值
c scanf函數返回值表示成功讀取的字元數。我們可以利用函數返回值來判斷讀取是否成功。
#include <stdio.h>
int main()
{
int len;
scanf("%d", &len);
int arr[len];
for (int i = 0; i < len; i++) {
scanf("%d", &arr[i]);
}
if (scanf("%d", &arr[len + 1]) != 1) {
printf("讀取失敗\n");
}
return 0;
}
以上示例中,我們對數組進行了動態分配,然後通過scanf函數讀取了數組元素。在讀取一個不存在的數組元素時,scanf函數返回值不為1,因此我們可以通過這種方式來判斷讀取是否成功。
六、c scanf用法舉例
#include <stdio.h>
int main()
{
char ch1, ch2;
int num;
float f;
scanf("%c %c %d %f", &ch1, &ch2, &num, &f);
printf("您輸入的字元是%c和%c,數字是%d,浮點數是%f\n", ch1, ch2, num, f);
return 0;
}
在以上示例中,我們讀取了兩個字元,一個整數和一個浮點數,並列印了它們。
七、c scanf讀字元串
c scanf函數不能直接讀取字元串,但是我們可以使用%c字元類型讀取單個字元,並將其拼接為字元串。
#include <stdio.h>
#include <string.h>
int main()
{
char str[10], ch;
int i = 0;
while ((ch = getchar()) != '\n') {
str[i] = ch;
i++;
}
str[i] = '\0';
printf("%s", str);
return 0;
}
以上示例中,我們通過getchar函數讀入字元並拼接成字元串。每次讀取到的字元都存儲在數組中,並不斷增加i的值,最後再在數組末尾添加’\0’字元來表示字元串的結束。
八、c scanf 字元串
在讀取字元串時,我們也必須限制讀取的最大字元數。以下是一個示例代碼:
#include <stdio.h>
int main()
{
char str[10];
scanf("%9s", str);
printf("%s", str);
return 0;
}
在以上示例中,我們使用%9s格式化字元串為輸入。因此,我們從輸入流中讀取9個字元,並將其存儲在str數組中。最後,我們輸出這個字元串。
九、c scanf_s
為了保證安全性,我們可以使用更安全的scanf_s函數。scanf_s函數只能在Visual Studio 2005或更高版本中使用。
#include <stdio.h>
int main()
{
char str[10];
scanf_s("%9s", str, 10);
printf("%s", str);
return 0;
}
在以上示例中,我們使用scanf_s函數讀取輸入流中的字元串。scanf_s函數也使用了類似於scanf函數的格式指令,但是scanf_s函數同時還需要一個size_t類型的n參數,用於指定讀取字元串的最大長度。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/269931.html