fclose(fp);
参考答案:void encryptChar ( )
{
int i;
char *pf;
for ( i = 0; i〈maxline; i++)
{
pf=xx [i];
while (*pf ! =0)
{
if ((*pf*11%256>=’a’ && *pf*11%256〈=’z’) || *pf*11%256〈=32)
{ /*如果计算后的值小于等于32或对应的字符是小写字母*/
pf++; /*则不作任何操作,取下一个数进行处理*/
continue;
}
*pf=*pf*11%256; /*否则用新字符来替代这个字符*/
pf++; /*取下一个字符*/
}
}
}
解析: 本题主要考查用指针变量来控制字符数组,由于要对已有二维字符数组的所有元素逐个处理,因此,需要定义一个字符指针变量来控制原二维数组的各行。当前行如果确定下来,用指针的移动就可以依次扫描该行的所有字符元素,每得到一个字符就对它进行条件判断。根据题意,条件用“if((*pf*11%256>=’a’&&*pf*11%256〈=’z’)||*pf*11%256〈=32)”语句来实现。如果该字符不满足上述条件,就用一个新的字符来替代,新的字符是当前字符乘以11的结果再去与256取余,处理完毕后,指针去取下一个字符。如果该字符满足所给条件,将不做任何操作,指针直接下移,去取下一个字符,对下一个字符进行处理。