复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34一般的程序错误,粗略一点分的话,可以大致分为语法错误和语义错误。 语法错误可以看作是编码出现了违反C语言规则的错误,一般编译或者链接时, 都会报错的。 而语义错误,也可以叫做逻辑错误, 也就是说你的代码完全符合C语言的规范,不会出现编译/链接的错误, 但是,在逻辑上有错误。 举个简单的例子, 加入编一个代码来统计int数组a的成员总和,成员总数为N: for(int i=0;i<N;i++;) //这里在i++后面多了一个分号,这是语法错误 sum=sum+a[i]; for(int i=0;i<=N;i++) //这里多了一个i=N的取值,这是语义错误 sum=sum+a[i]; 又比如: 语义错误,就是语法上没错误,编译可以通过,也可以运行,也可以得到结果,但结果不符合实际,是错的。这就是语义描述错了。 语文里,我们说“雪是白的”是对的,如果说“雪是黑的”,就是语义错误。 C语言中语义错误有各式各样。例如: #include<stdio.h> #include<math.h> void main() { double a=5.0,b=4.0,c; c = sqrt(b-a); printf("%lf",c); } 程序没有语法错误,应当是 c = sqrt(a-b); 写成sqrt(b-a); 出现负数开方,错误。
最后
以上就是敏感故事最近收集整理的关于在C语言中什么是语义错误??的全部内容,更多相关在C语言中什么是语义错误?内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复