c語言怎麼檢查錯誤
㈠ c語言的檢查輸入錯誤提示重新輸入的問題
//可以用下面的方法
//scanf在接受到與%d不符的輸入時,返回值是0,否則是1
//另外123b這種輸入不專會出錯的,會把123賦值給i
//b123則不會了屬
#include<stdio.h>
intmain(){
inti;
while(scanf("%d",&i)==0){
getchar();
}
return0;
}
㈡ C語言編程~檢查錯誤
#include<stdio.h>
#include<math.h>
int main()
{
自int a,b,c;
double s,S;
scanf("%d%d%d",&a,&b,&c);
s=1.0/2*(a+b+c); //該處使用浮點數1.0,否則1/2以整型計算=0
S=sqrt(s*(s-a)*(s-b)*(s-c));
printf("%lf\n%lf",s,S);
}
㈢ 如何查看C語言錯誤在哪裡
#include語句不能有;號
main函數那句也不能有;號
#include<stdio.h>//;
intmain()//;
{
printf("Happynewyeartoeveryone! ");
return(0);
}
㈣ C語言編程錯誤怎麼找出
看樣子 樓主不會截屏
語句里要求的符號,比如; 不能用中文符號
㈤ C語言怎麼查錯
C語言錯誤一般分成語法錯誤和邏輯錯誤。
如果是語法錯誤,編譯器都會提示,改起來比較版簡單,常見的權語法錯誤有:
1、英文符號寫成中文符號
2、參數為定義就使用
3、缺少括弧
4、拼寫錯誤等
如果是邏輯錯誤,這種錯誤編譯器一般都能通過編譯,但是運行過程在中會出錯,需要使用調試工具,一步一步判斷是否運行正確。
㈥ 對於C語言編程出了錯,怎麼能快速找出錯誤呢
代碼是否存在邏輯錯誤:
1、變數使用前未被數值
實例:
int main()
{
int x=5,y,z;
z=x*y;
printf("%d",z);
return 0;
}
在此程序中變數y在使用之前未內被賦值,所以結容果輸出z的值就會是系統隨機分配一個值給y再加乘以x的值。
2、把賦值賦值符號「=」與等於符號「==」相混淆
實例:
有一下語句:
if(a=5)
{
printf("a等於5");
}
輸出的結果永遠都是「a等於5」,原因是在執行if(a=5)之時,無論a之前是什麼值,此時都會被重新賦值為5,而不是把a的值與5相比較,而正確的表示比較的表示為:
if(a==5)
{
printf("a等於5");
}
(6)c語言怎麼檢查錯誤擴展閱讀
C語言編程注意事項:
1、書寫標識符時,忽略了大小寫字母的區別。
2、將字元常量與字元串常量混淆。
3、忽略了變數的類型,進行了不合法的運算。
4、忽略了「=」與「==」的區別。
5、忘記加分號。
6、多加分號。
7、輸入變數時忘記加地址運算符「&」。
㈦ c語言,檢查錯誤
呵呵,將
//for(DecNum[k]>DecNum[k+1])
改為:
if(DecNum[k]>DecNum[k+1])
改過以後的代碼:
#include "stdio.h"
#include "conio.h"
void main()
{
/*給定由十六進制數組成的字元串,將其中0~9相連的數選出來*/
/*並轉換成十進制數按由小到大的順序顯示出來*/
/*定義一個字元串數組*/
char String[31]="";
long TmpDec,DecNum[15]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
int i,k,j=0;
/*將字元串從前到後搜索,判斷如果是字元的『0』到『9』則換成十進制數值*/
/*並放進long型變數DecNnm*/
for(i=0;i<3;i++)
{
if(String[i]>='0'&&String[i]<='9')
{
DecNum[j]=DecNum[j]*10+(String[i]-0x30);
}
else
{
if(DecNum[j]!=0)
{j++;
}
continue;
}
}
/*用冒泡法排序*/
for(i=0;i<j;i++)
{
for(k=0;k<j-1;k++)
{
if(DecNum[k]>DecNum[k+1])
{
TmpDec=DecNum[k];
DecNum[k]=DecNum[k+1];
DecNum[k+1]=TmpDec;
}
}
}
/*將排序後的數據顯示*/
for(i=0;i<j;i++)
{
printf("%ld\n",DecNum[i]);
}
}
㈧ c語言檢查錯誤
程序中錯誤非常多,顯示作者對C語言基本語法差漏、欠缺較多。還需扎實理解基本語法,才能應用於編程哦。
#include
"stdio.h"//包含stdio庫
#include
"math.h"//包含math庫
main()//主函數
{
float
a,b,c;
float
s,area;
scanf("%f,%f,%f",&a,&b,&c);
if
(a+b>c&&b+c>a&&a+c>b)
//這里有要括弧,不能有分號,否則if語句就結束了,下面的語句就變為無條件執行了
{
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("三角形的面積為:%f
",area);
if
(a==b&&b==c)
//這里的條件改寫了,必須要有括弧,且不能有分號
printf("等邊三角形
");
else
if
(a==b||b==c||a==c)
//這里的條件改寫了,必須要有括弧,且不能有分號
printf("等腰三角形
");
else
if
((a*a+b*b==c*c)||(b*b+c*c==a*a)||(a*a+c*c==b*b))
//一個等號是賦值,連寫二個等號是比較。少了右括弧,不能有分號
printf("直角三角形
");
//
要寫在雙引號內
else
printf("一般三角形
");
//
要寫在雙引號內
}
else
printf("不能組成三角形
");
//
要寫在雙引號內
}