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