总结分析了C语言中常见错误及程序调试的相关技巧,以提高初学者的编程能力。
2 8 2月 0年l 0
电脑学习
第6 期
C语言中常见错误分析及程序调试
陈伟’ 陈东淼
摘要:总结分析了 C语言中常见错误及程序调试的相关技巧。以提高初学者的编程能力。
关键词: C语言语法错误 逻辑错误运行错误程序调试
中图分类号: T 3 2 P 1文献标识码: B文章编号:02 2 2 ( 0 8) 6 0 5— 2 10— 4 2 20 0— 0 7 0
Th r q e tM itk ay i n o r m b g i g i n u g e F e u n sa e An l s a d Pr g a De u gn La g a e C s n
Ch n W e e i C e n mi o h n Do g a Ab ta t T e p p r a ay e n u s r c: h a e n lz s a d s mma ie r q e t mitk s b s d o oma r g a r s fe u n s e a e n n r l p o r mmig st ain a d p o i e z a n i t, rv d s u o n r lt e s i s o r g a ea i k l f p o r mme d b g t mp o e t e b gn e ' rg a v l e u o i r v h e i n r p o r mmi g c p b l y s n a a i t. i
Ke wo d Ln ug y r: agaeC
Sna r r yt Er x o
L gc r r o a Er il o
R nigE r u nn r r o
Porm D b g rga e u
1常见错误分析
11语法错误 .指违背了 C语法的规定,这类错误,译程序一般能对编
表 1常见语法错误、出错信息及出错原因
语法错误出错原因出错信息
给出“出错信息”,并提示哪一行出错。只要细心,是很容易发现并排除的,详见表 1。
1 . 2逻辑错误
):
nf d a Dil或 sa f t(, r f en函数 n
中双引号不成对
.中格式说明字符串 n rla dsi rea e utmnt t go hr t e e r n ae
s t n i ig t e tm sn: a me s
w i ttm n sig hl s e etmi n ) e a s
itab n,
c a ) _# J h rL l,
语句少分号
w i (-e括弧不配对 hl c gt e
程序并无违背语法规则,但程序执行结果与原意不符
[1 1
。
这是由于程序设计人员设计的算法有错或编写程序有
错,即出现了逻辑上的混乱。这种错误比语法错误更难检
查,见表 2详。 1 .行错误 3运
x=( b sn( 1 .+q表达式句法不对,一 q/ 28 ) ( )般由表达式括弧不 epes n sna x rsi yt o l配对引起
使用 pt m uq h函数,没有使用了库函数,却缺 nld s—少相应的文件包含 u df e y o p t a c e
i.> Oh
程序既无语法错误,无逻辑错误,在运行时结果出也但现错误甚至停止运行。这种错误更深入、隐蔽,更要求程序再用 M和 C,到 C, f x加密 X ( ) Y ( )到 Z。得:用 ( ) O、 0得;
lt: na
类型说明与变量之间未隔空格 u df e y o it n ei d smbl na n
的密钥空间。
( )发送方 A i 2 l e将 C、 Z隐藏于一个双声道的 c C和数字语音信号的左声道的 K位置上面,右声道的第 K、 。 2K
4结束语
数据加密方案不仅具有很好的安全性,而且能够实现
一
位置并把隐藏好的语音信号传给接收方 B b o;
( )收方 B b按照相反的程序解密就可以了。 3接 o
次一密的功能;同时,对于第三方的篡改攻击也能够及时
发现。
3方案性能分析
( )初始条件是发送方随机选择的, 1即使攻击者知道了明文和混沌系统也无法预测下一次的初始条件,所以具有一次一密的特点;
参考文献
[】Mi L C e 1 n, h n G,Z a g X e a.A poc o G nr- h n, t1 p rah t e ea
i d S n h o iai 山 f e y c r n z t n wi Ap h a o o C a s b s d z o p c t n t h o - a e i
Scr o u i t n[.[.]C m m T erP y, eue C mm n a o J S1: o mu ho hs ci] .
20 0 4, 4 4):2— 4 . 1( 6 3 6 0
() 2攻击者想篡改信息也是不容易的。 C和 z分别 C、:
隐藏在不同的语音声道中,即使攻击者能发现并篡改也能
[]C e o JB ho h tK yn i l O t l
t ni 2 un t .C as S i eig wt a po e r i f h l eco c
被接收方的 B b发现,除非能够同时改变 c、 o。c中的相同
位置,但这是非常困难的;
E ey tn Ss m U ig C as i Wae nt . .] nrpi yt s h o n o e n vl gh【 I: e J S . IE o ma o u nu lc ois20, 3 ) E E Ju l fQ atm Eet nc,0 17( 7: r
8 9 8 5 4—5.
() 3密钥空间:系统选择 3个参数,也可以选择更多参
数,数越多密钥空间就会越大。一个参数的敏感度可以参每达到 1—, 01密钥空间可以达到 lw31 2 5 0 O>啪。另外密钥还=
[】孙百瑜, 3高峻山,吴宏伟.基于置换序列的混沌加密算
法 U .北京:】控制理论与应用,0 5 2( 4:— . 20, 2 )7 9
包括 K、 ,中 l、 l的敏感度是 1 1-。密钥。…、其 ( K、 6 4 ( 0:0¨
空间为 1Ⅲ= 0>盥, 0 1 2这表明了密钥空间远远大于安全
收稿日期:0 8 0— 7 20—6 2 }陈伟东北电力大学信息化教学中心讲师 (吉林,吉林 1 2 1 ) 30 2。
[]方锦清 .驭混沌发展新技术[ .北京:能出版 4驾 M】原子
社, 03 20 .
5 7