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