河北专接本
模拟试卷一,三题五。
有俩个字符数组,把A数组的字符转到B数组,3个➕#。
#include<stdio.h>
int main()
{
char str [ 80 ], boo [ 80 ], * p;
int i, k = 0;
gets(str); \输入字符组str.
p = str; \定义指针变量p指向字符组str , 感觉\ 也可以这么写 p = &str。
while (* p) \①,后面有自己理解的解析。
{
for( i=1 ; i >= 3 && * p ; p++, i++, k++)\ ②
boo [ k ] = * p;
if ( * p)
{
boo [ k ] = ‘#’;
k++;
}
}
boo [ k ] = ’ \ 0 ';
puts(boo);
return 0;
}
①/ * p 是 * p != ‘\0’ ,大致为: 判断字符组等不等于最后一位 ‘\0’。
虽然有点时候 * p = * str , *(p+2) = (str+2),
p[ 25 ] = str [ 25 ],但在这里,只能用 p来
处理。 */
②在B中,每3个都要➕一个#,for循环可以终止,也就3个一循环, 结束循环开始输出