问题 填空题

下列给定程序中,函数fun()的功能是:删除字符串s中所有空白字符(包括Tab字符、回车符及换行符)。输入字符串时用’#’结束输入。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构.
试题程序:
#include <string.h>
#include <stdio.h>
#include <ctype.h>
fun(char *p)
int !i, t; char c[80];
for(i=0,t=0;p[i];i++)
if(!isspace(*(p+i))) c[t++]=p[i];
/**********************************/
c[t]=’\0’;
strcpy(p,c);

main()
char c,s[80];
int i=0;
printf("Input a string: ");
c=getchar();
while(c!=’#’)
( s[i]=c;i++;c=getchar();
s[i]="\0";
fun(s);
puts(s);

答案

参考答案:错误:c[t]="\0", 正确:c[t]=’\0’

解析: 注意,该程序的if条件中应用了isspace函数,该函数的功能是检查ch是否空格、跳格符(制表符)或换行符。

综合题

阅读材料,回答问题:

材料一 从七十年代末起,我多次说,应当对国内国外几次影响很大的革命,包括法国革命、俄国革命、辛亥革命等等重新认识、研究、分析和评价,应该理性地分析和了解革命方式的弊病,包括它给社会带来的各种破坏。……革命确实有巨大的破坏力量,它可以改变人们的存在方式,但是,以为革命可以解决一切问题,确实是一种幼稚病。……没有看到“革命化”与“现代化”之间有非常复杂的关系,特别是其中矛盾和冲突的地方,这一点似否还没有人仔细地谈过,但却是一个非常需要研究探讨的问题。……自我调整和自我完善并不是消极的而是一种改良、改革,就是和平进化。……自我调整和自我完善,不是关门主义,而是和世界沟通的调整和完善。它是对各种关系包括政治、经济、文化关系逐步进行改良。它需要一个日积月累、较为缓慢和长期的进程。

——李泽厚、刘再复《告别革命》

材料二 国内某些新潮作家……这些人鼓吹“告别革命论”,否定中国革命的历史意义,极力渲染“革命不如改良,改良不如渐进”的观点。在他们眼里,革命等同于破坏,只有改良才能以最小代价获取最大成果。

——王朝柱

结合中国近现代史,评析材料中关于“革命与改良”的观点。(要求:围绕材料中的某一种观点展开评论,观点明确,史论结合)

名词解释