當前位置:首頁 » 編程語言 » c語言不知道錯在哪裡
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言不知道錯在哪裡

發布時間: 2022-07-30 12:35:56

c語言的輸入錯在哪裡

scanf_s函數是微軟為了防止輸入字元時溢出更新的一個函數;
當輸入數值時和原來的scanf函數一樣的用法,如果輸入字元或者字元串就要多傳入一個最大容量的值。
scanf_s("%c,%c", &a, &b);改成
scanf_s("%c,%c", &a, 1, &b, 1);
每個變數都要跟一個最大容量。

② C語言不知道錯哪裡了,速度求解。

情況1:
while(a=fgetc(fp1)!=EOF)//<<<掉了一括弧
如果改為這么寫:
while(EOF
!=
(
a=fgetc(fp1)
)
)
你就不會因為掉了一對括還能繼續編譯了.
情況2;
你都沒有查檢fp1
fp2是不是成功的打開了文件,你很可能因為路徑或許可權的原因還打不開文件
fp1=fopen("C\\:Mydir\\source.dat","r");
fp2=fopen("C\\:Mydir\\destination.dat","w");
改為
if(NULL==(fp1=fopen("C\\:Mydir\\source.dat","r")){printf("讀文件打不開");return;};
if(NULL==(fp2=fopen("C\\:Mydir\\destination.dat","w"))){printf("寫文件打不開");return;};
你可以知道文件是不是成功的打開了

③ C語言不知道錯哪裡

你這個程序在錄入時就有錯。好友名字的獲得函數前面把計算機成績錄入時以分號結尾所以分號就直接到了gets()函數上就跳過來名字的錄入

平均分計算不出來是因為成績錄入也是錯的

改為如下就對了

#include<stdio.h>
main()
{
charname1[3],name2[3];
longno1,no2;
floatenglish1,english2,math1,math2,pc1,pc2,pj1,pj2;
printf("請輸入第一位學生姓名:");
gets(name1);
printf(" 請輸入%s的學號:",&name1);
scanf("%ld",&no1);
printf(" 請輸入%s的英語成績:",&name1);
scanf("%lf",&english1);
printf(" 請輸入%s的數學成績:",&name1);
scanf("%lf",&math1);
printf(" 請輸入%s的計算機成績:",&name1);
scanf("%lf",&pc1);
getchar();
printf(" 請輸入第二位學生姓名:");
gets(name2);
printf(" 請輸入%s的學號:",&name2);
scanf("%ld",&no2);
printf(" 請輸入%s的英語成績:",&name2);
scanf("%lf",&english2);
printf(" 請輸入%s的數學成績:",&name2);
scanf("%lf",&math1);
printf(" 請輸入%s的計算機成績:",&name2);
scanf("%lf",&pc2);
pj1=(english1+math1+pc1)/3;
pj2=(english2+math2+pc2)/3;
printf("%s%ld平均成績為%f",name1,no1,pj1);
printf("%s%ld平均成績為%f",name2,no2,pj2);
}//你試試看對不對

④ c語言出錯 不知道錯在哪

要養成用大括弧而不是縮進把if語句循環語句等的可執行部分括起來的習慣.你這樣寫非常容易出錯
出錯行是12行的else找不到匹配的if,就是因為這種不明確的匹配關系導致的

⑤ 一個C語言程序,不知道自己錯在哪裡

你的輸入語句scanf寫錯了,裡面應該用兩個%d來接收輸入。

⑥ c語言編程問題,不知道錯在哪裡

把主函數的返回值限定符改為int,然後在結尾返回0即可,試試吧

⑦ 急,c語言差不多都完成了,就最後一點錯誤,不知道在哪裡

int check(char* str) {
int flag=0;
int isCheck = 1;
int isOk = 1;
char* p = str;
while (*p) {
switch (*p) {
case '{':
if (isCheck)
{
flag++;
printf("%c ",*p);
}
break;
case '}':
if (isCheck)
{
if (flag < 1)
isOk = 0;
flag--;
printf("%c ", *p);

}
case '/':
if (*(p + 1) == '*')
isCheck = 0;
break;
case '*':
if (*(p + 1) == '/')
isCheck = 1;

}
p++;
}
if (flag == 0 && isOk == 1) {
return 1;
}
else {
return 0;
}
}

//你自己調用把,這個是棧的知識