2024年c語言編程時(shí)常犯錯(cuò)誤17個(gè)問題 c語言編程容易出現(xiàn)的錯(cuò)誤優(yōu)秀

網(wǎng)絡(luò)整理 分享 時(shí)間: 收藏本文

2024年c語言編程時(shí)常犯錯(cuò)誤17個(gè)問題 c語言編程容易出現(xiàn)的錯(cuò)誤優(yōu)秀

無論是身處學(xué)校還是步入社會(huì),大家都嘗試過寫作吧,借助寫作也可以提高我們的語言組織能力。那么我們?cè)撊绾螌懸黄^為完美的范文呢?以下是小編為大家收集的優(yōu)秀范文,歡迎大家分享閱讀。

c語言編程時(shí)常犯錯(cuò)誤17個(gè)問題 c語言編程容易出現(xiàn)的錯(cuò)誤篇一

c語言是一門通用計(jì)算機(jī)編程語言,應(yīng)用廣泛。以下是百分網(wǎng)小編搜索整理的關(guān)于c語言編程時(shí)常犯錯(cuò)誤17個(gè),需要的朋友可以參考一下!想了解更多相關(guān)信息請(qǐng)持續(xù)關(guān)注我們應(yīng)屆畢業(yè)生考試網(wǎng)!

代碼如下:

main()

{

int a=5;

printf("%d",a);

}

編譯程序把a(bǔ)和a認(rèn)為是兩個(gè)不同的變量名,而顯示出錯(cuò)信息。c認(rèn)為大寫字母和小寫字母是兩個(gè)不同的字符。習(xí)慣上,符號(hào)常量名用大寫,變量名用小寫表示,以增加可讀性。

代碼如下:

main()

{

float a,b;

printf("%d",a%b);

}

%是求余運(yùn)算,得到a/b的整余數(shù)。整型變量a和b可以進(jìn)行求余運(yùn)算,而實(shí)型變量則不允許進(jìn)行“求余”運(yùn)算。

char c;

c="a";

在這里就混淆了字符常量與字符串常量,字符常量是由一對(duì)單引號(hào)括起來的單個(gè)字符,字符串常量是一對(duì)雙引號(hào)括起來的字符序列。c規(guī)定以“”作字符串結(jié)束標(biāo)志,它是由系統(tǒng)自動(dòng)加上的,所以字符串“a”實(shí)際上包含兩個(gè)字符:‘a(chǎn)'和‘',而把它賦給一個(gè)字符變量是不行的。

在許多高級(jí)語言中,用“=”符號(hào)作為關(guān)系運(yùn)算符“等于”。如在basic程序中可以寫

if (a=3) then …

但c語言中,“=”是賦值運(yùn)算符,“==”是關(guān)系運(yùn)算符。如:

if (a==3) a=b;

前者是進(jìn)行比較,a是否和3相等,后者表示如果a和3相等,把b值賦給a。由于習(xí)慣問題,初學(xué)者往往會(huì)犯這樣的錯(cuò)誤。

分號(hào)是c語句中不可缺少的一部分,語句末尾必須有分號(hào)。

a=1

b=2

編譯時(shí),編譯程序在“a=1”后面沒發(fā)現(xiàn)分號(hào),就把下一行“b=2”也作為上一行語句的一部分,這就會(huì)出現(xiàn)語法錯(cuò)誤。改錯(cuò)時(shí),有時(shí)在被指出有錯(cuò)的一行中未發(fā)現(xiàn)錯(cuò)誤,就需要看一下上一行是否漏掉了分號(hào)。

代碼如下:

{

z=x+y;

t=z/100;

printf("%f",t);

}

對(duì)于復(fù)合語句來說,最后一個(gè)語句中最后的分號(hào)不能忽略不寫(這是和pascal不同的)。

對(duì)于一個(gè)復(fù)合語句,如:

代碼如下:

{

z=x+y;

t=z/100;

printf("%f",t);

};

復(fù)合語句的花括號(hào)后不應(yīng)再加分號(hào),否則將會(huì)畫蛇添足。又如:

if (a%3==0);

i++;

本是如果3整除a,則i加1。但由于if (a%3==0)后多加了分號(hào),則if語句到此結(jié)束,程序?qū)?zhí)行i++語句,不論3是否整除a,i都將自動(dòng)加1。再如:

for (i=0;i<5;i++);

{scanf("%d",&x);

printf("%d",x);}

本意是先后輸入5個(gè)數(shù),每輸入一個(gè)數(shù)后再將它輸出。由于for()后多加了一個(gè)分號(hào),使循環(huán)體變?yōu)榭照Z句,此時(shí)只能輸入一個(gè)數(shù)并輸出它。

int a,b;

scanf("%d%d",a,b);

這是不合法的。scanf函數(shù)的`作用是:按照a、b在內(nèi)存的地址將a、b的值存進(jìn)去。“&a”指a在內(nèi)存中的地址。

①scanf("%d%d",&a,&b);

輸入時(shí),不能用逗號(hào)作兩個(gè)數(shù)據(jù)間的分隔符,如下面輸入不合法:

3,4

輸入數(shù)據(jù)時(shí),在兩個(gè)數(shù)據(jù)之間以一個(gè)或多個(gè)空格間隔,也可用回車鍵,跳格鍵tab。

②scanf("%d,%d",&a,&b);

c規(guī)定:如果在“格式控制”字符串中除了格式說明以外還有其它字符,則在輸入數(shù)據(jù)時(shí)應(yīng)輸入與這些字符相同的字符。下面輸入是合法的:

3,4

此時(shí)不用逗號(hào)而用空格或其它字符是不對(duì)的。

3 4 3:4

又如:

scanf("a=%d,b=%d",&a,&b);

輸入應(yīng)如以下形式:

a=3,b=4

在用“%c”格式輸入字符時(shí),“空格字符”和“轉(zhuǎn)義字符”都作為有效字符輸入。

scanf("%c%c%c",&c1,&c2,&c3);

如輸入a b c

字符“a”送給c1,字符“ ”送給c2,字符“b”送給c3,因?yàn)?c只要求讀入一個(gè)字符,后面不需要用空格作為兩個(gè)字符的間隔。

例如,a已定義為整型,b定義為實(shí)型

a=3;b=4.5;

printf("%f%dn",a,b);

編譯時(shí)不給出出錯(cuò)信息,但運(yùn)行結(jié)果將與原意不符。這種錯(cuò)誤尤其需要注意。

scanf("%7.2f",&a);

這樣做是不合法的,輸入數(shù)據(jù)時(shí)不能規(guī)定精度。

例如:根據(jù)考試成績(jī)的等級(jí)打印出百分制數(shù)段。

switch(grade)

{

case 'a':printf("85~100n");

case 'b':printf("70~84n");

case 'c':printf("60~69n");

case 'd':printf("<60n");

default:printf("errorn");

}

由于漏寫了break語句,case只起標(biāo)號(hào)的作用,而不起判斷作用。因此,當(dāng)grade值為a時(shí),printf函數(shù)在執(zhí)行完第一個(gè)語句后接著執(zhí)行第二、三、四、五個(gè)printf函數(shù)語句。正確寫法應(yīng)在每個(gè)分支后再加上“break;”。例如

case 'a':printf("85~100n");break;

(1)main()

{int a=0,i;

scanf("%d",&i);

while(i<=10)

{a=a+i;

i++;

}

printf("%d",a);

}

(2)

main()

{int a=0,i;

scanf("%d",&i);

do

{a=a+i;

i++;

}while(i<=10);

printf("%d",a);

}

可 以看到,當(dāng)輸入i的值小于或等于10時(shí),二者得到的結(jié)果相同。而當(dāng)i>10時(shí),二者結(jié)果就不同了。因?yàn)閣hile循環(huán)是先判斷后執(zhí)行,而do- while循環(huán)是先執(zhí)行后判斷。對(duì)于大于10的數(shù)while循環(huán)一次也不執(zhí)行循環(huán)體,而do-while語句則要執(zhí)行一次循環(huán)體。

int n;

scanf("%d",&n);

int a[n];

數(shù)組名后用方括號(hào)括起來的是常量表達(dá)式,可以包括常量和符號(hào)常量。即c不允許對(duì)數(shù)組的大小作動(dòng)態(tài)定義。

main()

{static int a[10]={1,2,3,4,5,6,7,8,9,10};

printf("%d",a[10]);

}

c語言規(guī)定:定義時(shí)用a[10],表示a數(shù)組有10個(gè)元素。其下標(biāo)值由0開始,所以數(shù)組元素a[10]是不存在的。

scanf("%s",&str);

c語言編譯系統(tǒng)對(duì)數(shù)組名的處理是:數(shù)組名代表該數(shù)組的起始地址,且scanf函數(shù)中的輸入項(xiàng)是字符數(shù)組名,不必要再加地址符&。應(yīng)改為:

scanf("%s",str);

int max(x,y)

int x,y,z;

{

z=x>y?x:y;

return(z);

}

形參應(yīng)該在函數(shù)體外定義,而局部變量應(yīng)該在函數(shù)體內(nèi)定義。應(yīng)改為:

int max(x,y)

int x,y;

{

int z;

z=x>y?x:y;

return(z);

}

s("content_relate");

【c語言編程時(shí)常犯錯(cuò)誤17個(gè)】相關(guān)文章:

基礎(chǔ)c語言編程時(shí)易犯錯(cuò)誤

10-05

基礎(chǔ)c語言編程時(shí)易犯錯(cuò)誤有哪些

10-06

如何學(xué)好c語言編程

10-02

怎么學(xué)習(xí)c語言編程

09-23

怎樣學(xué)習(xí)c++c語言編程

09-22

c語言入門什么是編程語言

10-07

c語言高效編程的方法

10-01

c語言編程軟件有哪些

09-21

c語言socket編程開發(fā)應(yīng)用示例

10-05

c語言socket編程使用方法簡(jiǎn)介

11-20

信息流廣告 競(jìng)價(jià)托管 招生通 周易 易經(jīng) 代理招生 二手車 網(wǎng)絡(luò)推廣 自學(xué)教程 招生代理 旅游攻略 非物質(zhì)文化遺產(chǎn) 河北信息網(wǎng) 石家莊人才網(wǎng) 買車咨詢 河北人才網(wǎng) 精雕圖 戲曲下載 河北生活網(wǎng) 好書推薦 工作計(jì)劃 游戲攻略 心理測(cè)試 石家莊網(wǎng)絡(luò)推廣 石家莊招聘 石家莊網(wǎng)絡(luò)營銷 培訓(xùn)網(wǎng) 好做題 游戲攻略 考研真題 代理招生 心理咨詢 游戲攻略 興趣愛好 網(wǎng)絡(luò)知識(shí) 品牌營銷 商標(biāo)交易 游戲攻略 短視頻代運(yùn)營 秦皇島人才網(wǎng) PS修圖 寶寶起名 零基礎(chǔ)學(xué)習(xí)電腦 電商設(shè)計(jì) 職業(yè)培訓(xùn) 免費(fèi)發(fā)布信息 服裝服飾 律師咨詢 搜救犬 Chat GPT中文版 語料庫 范文網(wǎng) 工作總結(jié) 二手車估價(jià) 情侶網(wǎng)名 愛采購代運(yùn)營 情感文案 古詩詞 邯鄲人才網(wǎng) 鐵皮房 衡水人才網(wǎng) 石家莊點(diǎn)痣 微信運(yùn)營 養(yǎng)花 名酒回收 石家莊代理記賬 女士發(fā)型 搜搜作文 石家莊人才網(wǎng) 銅雕 關(guān)鍵詞優(yōu)化 圍棋 chatGPT 讀后感 玄機(jī)派 企業(yè)服務(wù) 法律咨詢 chatGPT國內(nèi)版 chatGPT官網(wǎng) 勵(lì)志名言 兒童文學(xué) 河北代理記賬公司 教育培訓(xùn) 游戲推薦 抖音代運(yùn)營 朋友圈文案 男士發(fā)型 培訓(xùn)招生 文玩 大可如意 保定人才網(wǎng) 黃金回收 承德人才網(wǎng) 石家莊人才網(wǎng) 模型機(jī) 高度酒 沐盛有禮 公司注冊(cè) 造紙術(shù) 唐山人才網(wǎng) 沐盛傳媒
主站蜘蛛池模板: 欧美日韩第一区| 日本五月天婷久久网站| 一区五十路在线中出| 国产午夜激无码av毛片| 欧美一区二区三区四区视频 | 国产区图片区小说区亚洲区| 欧美视频免费在线| a级毛片免费完整视频| 啦啦啦www播放日本观看| 日产精品99久久久久久| 豪妇荡乳1一5白玉兰| 久久亚洲精品中文字幕| 国产欧美日韩亚洲一区二区三区| 欧美性理论片在线观看片免费| 亚洲日本乱码在线观看| 好爽好深好猛好舒服视频上 | 亚洲欧美日韩综合一区| 在线免费观看亚洲| 毛片免费视频观看| 3d白洁妇珍藏版漫画第一章 | 天天做天天爱天天干| 男女搞基视频软件| 99久久精品日本一区二区免费| 亚洲视频你懂的| 国自产拍亚洲免费视频| 永久免费在线观看视频| 99re热这里只有精品| 亚洲成AV人综合在线观看| 国产精品嫩草影院永久一| 欧美性大战久久久久xxx| 99任你躁精品视频| 久久久久亚洲av成人无码| 啊轻点灬大ji巴太粗小说太男| 岳的大白屁股光溜溜| 欧美狂摸吃奶呻吟| 乱人伦人妻中文字幕| 国产三级免费电影| 性做久久久久久| 欧美黑人粗大xxxxbbbb| 久久久国产精品四虎| 中文字幕在线视频一区|