char b[] = "ABCD"; void main() { char* chp; for (chp = b; *chp; chp += 2)//chp=A;chp=chp+2 std::cout << chp ;
时间: 2024-05-26 15:17:23 浏览: 97
这段代码会输出 "AC" 。
代码中,我们定义了一个字符数组 b,里面存储了 "ABCD" 四个字符。然后定义了一个指针变量 chp,初始指向 b 数组的首地址。for 循环中,条件是 *chp,也就是指针所指向的字符不为 '\0',也就是没有到达字符串结尾。循环内部,我们每次将指针 chp 向后移动 2 个字节(即一个字符),也就是跳过一个字符。然后输出该指针当前指向的字符,也就是 "A"、"C" 两个字符。循环结束后,程序退出。
相关问题
#include<stdio.h> int main() { char b[]="ABCD"; char *chp; for(chp=b;*chp;chp+=2) printf("%s",chp); printf("\n"); }
这段代码的功能是输出字符串 "ABCD" 中的每隔一个字符的子串。具体来说,将字符数组 b 的首地址赋值给指针变量 chp,然后循环中每次将 chp 的值增加 2,即指向下一个字符,直到遇到字符串结束符 '\0' 为止。循环中使用 printf 函数输出 chp 指向的字符子串。因为每次增加 2,所以输出的子串是 "AC"。最后输出一个换行符。
下面程序的输出结果是( )。 char b[]="ABCD"; int main( ) { char *chp; for(chp=b; *chp; chp+=2) printf("%s", chp); printf("\n"); return 0; }
程序的输出结果是 AC。
程序中定义了一个字符数组 b,其值为 "ABCD"。然后定义了一个字符指针 chp,初始化为指向 b 的首地址。在 for 循环中,每次将 chp 的值增加 2,也就是跳过一个字符,然后输出 chp 指向的字符,直到遇到字符串的结束符 '\0'。因此,循环的输出结果为 A 和 C。最后一个 printf 函数输出换行符,使输出结果换行。