你好,代碼已為你改正,請采納
成都創新互聯-專業網站定制、快速模板網站建設、高性價比太和網站開發、企業建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式太和網站制作公司更省心,省錢,快速模板網站建設找我們,業務覆蓋太和地區。費用合理售后完善,10多年實體公司更值得信賴。
#include"stdio.h"
#include"stdlib.h"
int zhanzhuan(int a,int b)
{
int c,d;
if(ab)
{
d=a;a=b;b=d;
}
do
{
c=a%b;
a=b;
b=c;
}while(c!=0);
return a;
}
void main()
{
int a,b,c;
printf("請輸入兩個數:\n");
scanf("%d%d",a,b);
c=zhanzhuan(a,b);
printf("%d\n",c);
system("pause");
}
#includestdio.h
{void?average(int?arr[],?int?count)
int?i,?sum=0;
for(i=0;icount;i++)
scanf("%d",a[i]);
{?for(i=0;?icount;?i++)
sum+=arr[i];
printf("Average:%d\n",?sum/count);
}
void?main()
{
// int?a[];??//定義的數組a沒有指定內存空間的大小
int?a[30];
Average(a,30);
}
第一個錯誤:#include"stdio.h"稱作 標準輸入輸出頭文件包含 必須出現在 文件開始
第二個錯誤:scanf("A",B) 格式 A稱作格式控制,用引號引起來 B稱作輸入項,他與格式控制之間用 逗號 隔開,故應該為 scanf("%d",score);
第三個錯誤:p函數 有 int型返回值 而 主函數 為無返回值型 所以類型不匹配
故應改為 p(int score)
修改后 答案
#include"stdio.h"
p(int score)
{
if (score100 || score0)
printf("error");
else if (score=90 score=100)
printf("youxiu\n");
else if (score=70)
printf("lianhao\n");
else if (score=60)
printf("jige\n");
else printf("bujige\n");
}
main()
{
int score;
printf("shu chenji:");
scanf("%d",score);
p(score);
}
以下為你收集的c語言輸入數據要點及注意事項
說明: (1)數據輸入是相對計算機內存
(2) 數據輸入使用標準庫函數完成
(3) 數據輸入標準庫函數的原型聲明在stdio.h頭文件中
1、函數getchar函數的功能是從鍵盤上輸入一個字符。
其一般形式為:字符變量=getchar();
getchar函數只能接受單個字符,輸入數字也按字符處理。
輸入多余的字符存入到鍵盤的緩沖區,若有下一個getchar函數語句,直接從鍵盤的緩沖區讀取。
2、字符串輸入函數gets 格式:
gets (st)
功能:從鍵盤上輸入一個字符串,本函數得到一個函數值,即為該字符數組的首地址。
注意:gets函數并不以空格作為字符串輸入結束的標志,而只以回車作為輸入結束。這是與scanf(“%s”,…)函數不同的。
3、scanf()函數的一般形式
scanf(“格式控制字符串”,地址列表);
地址列表,用來接受數據各變量的地址。
變量的地址表示如下: 變量名 ,別忘了取地址運算
其格式字符串的一般形式為:
%[*][輸入數據寬度][長度]類型字符
其中有方括號[]的項為任選項。各項的意義如下:
1) 類型字符
表示輸入數據的類型,其格式符和意義如下所示:
d 輸入十進制整數
o 輸入八進制整數
x 輸入十六進制整數
u 輸入無符號十進制整數
f或e 輸入實型數(用小數形式或指數形式)
c 輸入單個字符
s 輸入字符串
2) “*”符
用以表示該輸入項讀入后不賦予相應的變量,跳過該輸入值。
如 scanf("%d %*d %d",a,b);
輸入為:1 2 3 把1賦予a,2被跳過,3賦予b。
3)寬度
用十進制整數指定輸入的寬度(即字符數)。
例如: scanf("%5d",a);
輸入: 12345678
只把12345賦予變量a,其余部分被截去。
又如: scanf("%4d%4d",a,b);
輸入:12345678將把1234賦予a,而把5678賦予b。
4)長度 長度格式符為l和h,l表示輸入長整型數據(如%ld)和雙精度浮點數(如%lf)。h表示輸入短整型數據。
例如:
main()
{ inta;
long b;
double x;
scanf(“%d%ld%lf”,a,b,x);
printf(“a=%d, b= %ld,x=%lf”,a,b,x);
}
使用scanf函數還必須注意以下幾點:
(1)scanf函數中沒有精度控制。
如:scanf(“%5.2f”,a); 是非法的。
(2)scanf中要求給出變量地址,
如: scanf(“%d”,a);是非法的。
(3)在輸入多個數值數據時,若格式控制串中沒有非格式字符作輸入數據之間的間隔則可用空格,TAB或回車作間隔。
例如:scanf(“%d%d”,a,b);
輸入: 12 10 回車
或 12 回車 10 回車
(4)在輸入字符數據時,若格式控制串中無非格式字符,則認為所有輸入的字符均為有效字符。
例如:
scanf("%c%c%c",a,b,c);
輸入為:d e f 則把'd'賦予a, ‘’'賦予b,'e'賦予c。
只有當輸入為: def時,把'd'賦于a,'e'賦予b,'f'賦予c。
如果在格式控制中加入空格作為間隔,
如 scanf ("%c %c %c",a,b,c);
輸入時各數據之間可加空格。
(5)如果格式控制串中有非格式字符則輸入時也要輸入該非格式字符。
例如:
scanf("%d,%d,%d",a,b,c);
其中用非格式符“,”作間隔符,故輸入時應為: 5,6,7
又如:
scanf("a=%d,b=%d,c=%d",a,b,c);
則輸入應為: a=5,b=6,c=7
(6)如輸入的數據與輸出的類型不一致時,雖然編譯能夠通過,但結果可能不正確。
void main()
{ inta;
printf("inputa number\n");
scanf("%d",a);
printf("%ld",a);
}
以上總結比較全面,希望能幫到你。
當前標題:c語言函數易錯點 c語言易錯知識點
URL分享:http://m.kartarina.com/article4/dogiioe.html
成都網站建設公司_創新互聯,為您提供網站設計、軟件開發、App設計、App開發、網站營銷、網站設計公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯