在C语言中什么是语义错误??
答案:2 悬赏:30 手机版
解决时间 2021-03-25 08:00
- 提问者网友:绫月
- 2021-03-24 22:48
在C语言中什么是语义错误??
最佳答案
- 五星知识达人网友:忘川信使
- 2021-03-24 23:07
一般的程序错误,粗略一点分的话,可以大致分为语法错误和语义错误。
语法错误可以看作是编码出现了违反C语言规则的错误,一般编译或者链接时,
都会报错的。
而语义错误,也可以叫做逻辑错误,
也就是说你的代码完全符合C语言的规范,不会出现编译/链接的错误,
但是,在逻辑上有错误。
举个简单的例子,
加入编一个代码来统计int数组a的成员总和,成员总数为N:
for(int i=0;i sum=sum+a[i];
for(int i=0;i<=N;i++) //这里多了一个i=N的取值,这是语义错误
sum=sum+a[i];
语法错误可以看作是编码出现了违反C语言规则的错误,一般编译或者链接时,
都会报错的。
而语义错误,也可以叫做逻辑错误,
也就是说你的代码完全符合C语言的规范,不会出现编译/链接的错误,
但是,在逻辑上有错误。
举个简单的例子,
加入编一个代码来统计int数组a的成员总和,成员总数为N:
for(int i=0;i
for(int i=0;i<=N;i++) //这里多了一个i=N的取值,这是语义错误
sum=sum+a[i];
全部回答
- 1楼网友:詩光轨車
- 2021-03-25 00:19
语义错误,就是语法上没错误,编译可以通过,也可以运行,也可以得到结果,但结果不符合实际,是错的。这就是语义描述错了。
语文里,我们说“雪是白的”是对的,如果说“雪是黑的”,就是语义错误。
C语言中语义错误有各式各样。例如:
#include
#include
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语言中语义错误有各式各样。例如:
#include
#include
void main()
{ double a=5.0,b=4.0,c;
c = sqrt(b-a);
printf("%lf",c);
}
程序没有语法错误,应当是 c = sqrt(a-b);
写成sqrt(b-a); 出现负数开方,错误。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯