c語言scanf字元數組
A. c語言中如何定義兩個字元數組並用scanf輸入
#include
<stdio.h>
#include
<stdlib.h>
int
main()
{
int
n,
*a,
i;
printf("請輸入數組長度:");
scanf("%d",
&n);
a
=
malloc(sizeof(int)
*
n);
/*分配內存*/
printf("請輸入%d個數:\n",
n);
for(i
=
0;
i
<
n;
i++)
scanf("%d",
a
+
i);
printf("您輸入的數是:\n");
for(i
=
0;
i
<
n;
i++)
printf("%d
",
a[i]);
free(a);
/*釋放內存*/
return
0;
}
B. c語言中的scanf 函數的用法
1、用法:int scanf(char *format[,argument,...]);
scanf()函數是通用終端格式化輸入函數,它從標准輸入設備(鍵盤) 讀取輸入的信息。可以讀入任何固有類型的數據並自動把數值變換成適當的機內格式。
2、其調用格式為:
scanf("<格式化字元串>",<地址表>);
scanf()函數返回成功賦值的數據項數,出錯時則返回EOF。
3、scanf()函數的控制串的使用:
#include "stdio.h"
int main(void)
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
printf("%d,%d,%d/n",a,b,c);
return 0;
}
(2)c語言scanf字元數組擴展閱讀:
scanf 函數使用中的注意事項:
(1)在高版本的 Visual Studio 編譯器中,scanf 被認為是不安全的,被棄用,應當使用scanf_s代替 scanf。
(2) 對於字元串數組或字元串指針變數,由於數組名可以轉換為數組和指針變數名本身就是地址,因此使用scanf()函數時,不需要在它們前面加上"&"操作符。
(3) 可以在格式化字元串中的"%"各格式化規定符之間加入一個整數,表示任何讀操作中的最大位數。
(4) scanf函數中沒有類似printf的精度控制。
如: scanf("%5.2f",&a); 是非法的。不能企圖用此語句輸入小數為2位的實數。
C. c語言 字元數組 scanf輸入的問題
%s格式輸入時候,「空格、換行符、TAB」等是作為兩個數據的分隔符存在的,即分隔符前後是兩個數據,讀入時候分隔符不讀入。
%S格式輸出也是「空格、換行符、TAB」等是作為兩個數據的分隔符存在的,遇到空格就退出了。
D. 如何在C語言中用scanf輸入數組
#include
main()
struct
int num;
char name[20];
char sex;
int age;
stu[5];
int i;
for(i=0;i<5;i++)
printf("請輸入信息 ");
scanf("%d",&stu[i].num);
scanf("%s",&stu[i].name);
scanf("%c",&stu[i].sex); //在%c之前加一個空格
scanf("%d",&stu[i].age);
for(i=0;i<5;i++)
printf( "*%s*",stu[i].name);
(4)c語言scanf字元數組擴展閱讀:
函數 scanf() 是從標准輸入流stdin[1](標准輸入設備,一般指向鍵盤)中讀內容的通用子程序,可以說明的格式讀入多個字元,並保存在對應地址的變數中。
函數的第一個參數是格式字元串,它指定了輸入的格式,並按照格式說明符解析輸入對應位置的信息並存儲於可變參數列表中對應的指針所指位置。每一個指針要求非空,並且與字元串中的格式符一一順次對應。
E. C語言中關於字元數組輸入,scanf為什麼沒執行
這種情況通常發生在前面已經有了輸入語句,而當前的scanf是在接收字元(即用%c控制輸入)時。由於前面的輸入語句(不一定是scanf)把最後輸入的'\n'遺留在了輸入緩沖區,而當前的scanf("%c",...);又會把'\n'當一個字元接收,又由於scanf在%c控制下只接收一個字元,所以就不能接收正式輸入的字元了。解決這一問題的最簡單辦法是在接收字元的scanf的控制符"%c"中的%前加一個空格寫成"
%c",把前一次輸入遺留在輸入緩沖區里的所有廣義空格('
'、'\t'、'\n'等)都吸收掉。在接收字元的scanf前加getchar()等的辦法其實是有漏洞的——當緩沖區里只遺留了一個廣義字元時可正常工作,若多於一個則同樣出錯。
F. C語言 scanf輸入數組 高手進
scanf只能一個整型或一個字元,要輸入數組一般都是和For循環套用。
如:int a[5], i;
for (i = 0; i < 5; i++)
{
scanf ("%d", &a[i]);
}
G. C語言中的scanf是什麼意思
scanf()是C語言中的一個輸入函數。
與printf函數一樣,都被聲明在頭文件stdio.h里,因此在使用scanf函數時要加上#include <stdio.h>。(在有一些實現中,printf函數與scanf函數在使用時可以不使用預編譯命令#include <stdio.h>。)
函數 scanf()是格式輸入函數,即按用戶指定的格式從鍵盤上把數據輸入到指定的變數之中。scanf() 從標准輸入流stdin中讀內容的通用子程序,可以說明的格式讀入多個字元,並保存在對應地址的變數中。
(7)c語言scanf字元數組擴展閱讀:
scanf()用法舉例:
用scanf輸入一個整數
#include<stdio.h>
int main(){
int num=0;
printf(「請輸入一個個整數」);
scanf(「%d,&num);
printf(「num是%d 」,num);
scanf(「%*[^ ]」);
scanf(「%*c」);//清空緩沖區
printf(「請輸入一個個整數」);
scanf(「%d,&num);
printf(「num是%d 」,num);
return 0;
}
參考資料來源:網路-scanf
H. C語言中 用scanf函數輸入字元串數組,取地址符&是不用輸的,如果輸了取地址符算錯么 ,或者含義不一樣么
一般變數使用取地址符,是獲取其地址,即為指向該變數的指針。
數組名就是數組的首地址,指向該數組的第一個元素的指針,只不過是常量指針而已。所以不用再加取地址符。
要加的話可以如下:
char str[10];
scanf("%s", &str[0]); // 取第一元素的地址,等價於數組名 str
I. c語言問題:怎樣用scanf獲取int類型的數組
c語言學習之基礎知識點介紹(三):scanf函數
本節繼續介紹c語言的基礎知識點。
scanf函數:用來接收用戶輸入的數據。
語法:scanf("格式化控制符",地址列表);
取地址要用到取地址符:&(shift+7)
例如:int num =0; csanf("%d",&num);printf("num = %d \n",num);
注意:格式化控制符前面要求輸入什麼類型的數據,那麼地址列表那裡就必須只能放相應類型變數地址。輸入值的時候可以指定輸入值的分隔符,
也可以 默認用回車。
scanf的特點:
它是一個阻塞式的函數。
例如:printf("請輸入吧:\n");
int num ;
scanf("%d"&num);
printf("呵呵,你輸入的是 %d",num);
一次輸入多個值:int num ; float num1;(可以輸入n次,n=格式化控制符的數量)
scanf("%d %f",&num,&num1);
注意:順序不能亂;如果不想用空格在一行內輸入,自己可以指定其他符號,但是輸入的時候必須按照這個符號來,否則會異常(後面的變數接不到值);如果想在scanf中加文字,輸入的時候也一定要按照scanf中的格式來輸入;用scanf的時候,最好不要先接收一個任意數值類型(整型,實型),在接收一個char類型,如果非要接收char類型的,一定要在scanf的格式化控制符前面加一個空格。如果scanf要接收的是數字,不管你輸入多少個空格和回車,都不會停止讓你輸入;如果scanf要接收的是int類型,你輸入一個小數,那麼只會截取小數的整數部分。如果接收的是數字,輸入的是字元,會停止輸入,但不會保存你輸入的值。
scanf的運行原理:
scanf用於接收用戶的輸入,但是用戶的輸入不是直接給了變數,而是存在了緩沖區。步驟如下:
1、接收輸入的時候,會先去緩沖區裡面找,看緩沖區中是否合適的值,若有,那麼就直接停止輸入,然後把這裡面的值賦給變數。若沒有就一直讓你輸入,一直到有合適的為止。
J. C語言用scanf給數組賦值問題
可以參考下面的代碼:
#include <stdio.h>
int main()
{
int a[3][2], i, m;
for (i = 0; i < 3; i++)
{
for (m=0;m<2;m++)
scanf("%d", &a[i][m]);
for (i = 0; i < 3; i++)
{
for (m=0;m<2;m++)
printf("%d ", a[i][m]);
}
return 0;
}
(10)c語言scanf字元數組擴展閱讀:
函數原型
intscanf(constchar*restrictformat,...);
函數 scanf() 是從標准輸入流stdin(標准輸入設備,一般指向鍵盤)中讀內容的通用子程序,可以說明的格式讀入多個字元,並保存在對應地址的變數中。
函數的第一個參數是格式字元串,它指定了輸入的格式,並按照格式說明符解析輸入對應位置的信息並存儲於可變參數列表中對應的指針所指位置。每一個指針要求非空,並且與字元串中的格式符一一順次對應。