[求助]一个字符替换问题
从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中,按给定的替代关系对数组xx中的所有字符进行替代,替代关系:f(p)=p*11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或f(p)对应的字符是数字0至9,则该字符不变,否则将f(p)所对应的字符进行替代。
这是我编的替换子函数
void encryptChar()
{ int i,j;
for(i=0;i<maxline;i++)
for(j=0;j<strlen(xx[i]);j++)
if(xx[i][j]*11%256<=32||xx[i][j]*11%256>='0'&&xx[i][j]*11%256<='9') continue;
else xx[i][j]=xx[i][j]*11%256;
}
我输入的英文为you should do that
但输出的是 y舥`駒舥?`L臽黿+?
是程序错了还是本来输出的就该是这样,为什么是乱码呢?
谢谢!
[此贴子已经被作者于2006-9-12 9:56:59编辑过]