C程序代码“while((c=getchar()!=’a’)putchar(c);”中存在______错误。

admin2009-09-04  29

问题 C程序代码“while((c=getchar()!=’a’)putchar(c);”中存在______错误。

选项 A、调用
B、语法
C、逻辑
D、运行

答案B

解析 getchar()用于接收键盘输入的字符,其值为键入的字符,putchar(c)用于在屏幕显示字符,c可以是字符类型也可以是整型变量。C语言中,不等号“!=”的优先级高于赋值符号“=”,因此c=getchar()!=’a’相当于c=(getchar()!=’a’),而“getchar()!=’a’”是个逻辑表达式,如果键入的是a,则该表达式的值为0,否则为1。程序代码中的错误可分为语法错误和语义错误。程序语言的语法表述的是语言的形式,或者说是语言的样子和结构。程序语言还有更重要的一个方面,就是附着于语言结构上的语义。语义揭示了程序本身的含义、施加于语言结构上的限制或者要执行的动作。程序语言的语义分为静态语义和动态语义。编译时进行的是静态语义的分析,主要包括:检查语言结构的语义是否正确,即是否结构正确的句子所表示的意思也合法;执行规定的语义动作,如表达式的求值、符号表的填写、中间代码的生成等。题目中while后面的括号显然没有匹配,少了一个右括号,这属于一种语法错误。运行错误是指程序能运行,在运行中出现错误。该代码不能通过编译,无法运行。
转载请注明原文地址:https://kaotiyun.com/show/1gxZ777K
0

最新回复(0)