【答案】
void StrCharJR(void)
{
int i,j; /*定义循环控制变量*/
int str; /*存储字符串的长度*/
for(i=0;i<maxline;i++) /*以行为单位获取字符*/
{
str=strlen(xx[i]); /*求得当前行的字符串长度*/
for(j=0;j<str;j++)
xx[i][j]+=xx[i][j]>>4;
/*字符的ASCII值右移4位再加上原字符的ASCII值,得到新字符*/
}
}
【解析】本题考查对二维字符数组元素的操作。
首先可以利用双重循环按照先行后列的顺序逐个取得数组中的字符,外层循环用来控制行数,内层循环用来依次取得各行中的每一个字符。
之后对当前所取得的字符进行右移4位的运算(这里用到了">>"右移运算符),最后把移后得到的字符累加到原字符中去,这样原来字符就可以被新的字符所覆盖。