试题与答案

已知检查括号匹配及注释、字符串处理的C源程序如下:#include<stdio.h>

题型:问答题

题目:

已知检查括号匹配及注释、字符串处理的C源程序如下:

#include<stdio.h>

int brace,brack,paren;

void in_quote(int c);

void in_comment(void);

void search(int c);

/*rudimentary syntax checKer for C program*/

int main()

int c;

extern int brace,brack,paren;

while((c=getchar())!=EOF)

if(c==’/’)

if((c=getchar())==’*’)

in_comment(); /*inside comment*/

else

search(C) ;

else if(c==’\"||c=="")

in_quote(c); /*inside quote*/

else

search(c);

if(brace<0) /*output errors*/

printf("Unbalanced braces\n");

brace=0;

else if(brack<0)

printf("Unbalanced brackets\n");

brack=0;

else if(paren<0)

printf("Unbalanced parentheses\n");

paren=0;

if(brace>0) /*output errors*/

printf("Unbalanced braces\n");

if(brack>0)

printf("Unbalanced brackets\n");

if(paren>0)

printf("Unbalanced parentheses\n");

return 0;

/*search:search for rudimentary syntax errors*/

void search(int c)

extern int brace,brack,paren;

if(c==’’)

++brace;

else if(c==’’)

--brace;

else if(c==’[’)

++brack;

else if(c==’]’)

--brack;

else if(c==’(’)

++paren;

else if(c==’)’)

--paren;

/*in_comment:inside of a valid comment*/

void in_comment(void)

int c,d;

c=getchar();

d=getchar(); /*curr character*/

while(c!=’*’||d!=’/’) /*search for end*/

c=d;

d=getchar();

/*in_quote:inside quote*/

void in_quote(int c)

int d;

while((d=getchar())! =c) /*search end quote*/

if(d==’\\’)

getchar(); /*ignore escape seq*/

画出程序中main函数的控制流程图;

答案:

参考答案:

试题推荐
题型:单项选择题

在公路发展的早期,它们的走势还能顺从地貌,即沿河流或森林的边缘发展。可如今,公路已无所不在,狼、熊等原本可以自由游荡的动物种群被分割得七零八落。与大型动物的种群相比,较小动物的种群在数量上具有更大的被动性,更容易发生杂居的现象。

A.公路的发展造成了动物生存状态的改变。

B.公路越发展,对动物越不利。

C.公路发展的程度不同,动物所受影响的程度也不同。

D.公路的发展应考虑到对动物的影响。

查看答案
微信公众账号搜索答案