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