1.
int a=6, b=5, c;
a + b = c;
printf("%d", c);
return 0;
2.
int calculateAreaRectangle(int height, int width)
{
return (height + width);
}
哪个是语义错误,哪个是逻辑错误?
我的另一个问题 - 由于编译而总是检测到符号错误是否正确?请举一些例子。
最佳答案
语法错误,您将其称为语义错误(语义错误? - 它与逻辑错误相同,所以我猜您指的是语法)只是一个直接的拼写错误(就像写 mether 一样)的母亲)。编程语言是一种严格的语言,必须被编译器理解。语法错误是以错误的方式编写语言(程序):
a + b = c;
是错误的,因为在 C
语言中不存在这样的语法。编译器将确认这一点。
逻辑错误是最糟糕的一种 - 程序中的大错误。逻辑错误是指当您正确编写整个程序时,编译器根本不会提示,并且程序似乎可以运行并给出结果,但结果是错误的!如您所知,矩形的面积是
width*height
但是你有
return (height + width);
这是一个逻辑(语义)错误 - 您的函数将运行并输出一个数字,但它与正确的数字相差甚远。
关于c - C语言中的语义错误和逻辑错误有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48587202/