下面的C程序代码段在运行中会出现______错误。 int i=0; while(i<10); {i=i+1;}

admin2019-06-12  32

问题 下面的C程序代码段在运行中会出现______错误。    int i=0;    while(i<10);        {i=i+1;}

选项 A、语法
B、类型不匹配
C、变量定义
D、动态语义

答案D

解析 这道题实际上是考while的循环体和空语句。若while的循环体只有一条语句,则可以不用花括号括起来,如果有多条就要用花括号括起来,表示这几条语句合起来是while的循环体。空语句指的是只有一个分号的语句“;”,该语句什么事都不做。程序语言中的错误一般分为语法错误、逻辑错误。语法错误指的是语句违反了形式规定而造成的错误,在这种情况下,不能通过编译而运行,编译器一般会给出错误信息并指出错误所在的行;逻辑错误指的是程序含义上的错误,出现了逻辑混乱。逻辑错误经常在运行中才体现出来,称为动态语义错误。从题中“while(i<10);”可看出,while用一条空语句做循环体,没有循环终止条件,因此进入死循环,这是一种运行中出现的逻辑错误,为动态语义错误。题中将赋值语句“i=i+1;”用花括号括起来,引诱考生误将“{i=i+1;)”看成while的循环体,这其实是“烟幕弹”。
转载请注明原文地址:https://kaotiyun.com/show/YZRZ777K
0

最新回复(0)