char b[] = "ABCD"; void main() { char* chp; for (chp = b; *chp; chp += 2)//chp=A;chp=chp+2 std::cout << chp ;
时间: 2024-06-07 09:09:41 浏览: 156
这段代码会输出 "AC"。
首先,将字符数组 b 的起始地址赋值给指针 chp。然后进入 for 循环,判断条件是 *chp,也就是当前指针所指向的字符不为 '\0'(字符串的结束符)。在循环体内,先输出 chp 所指向的字符,也就是 'A';然后将指针 chp 加 2,指向下一个字符,也就是 'C'。接着再次判断循环条件,此时 chp 指向 'C',不为 '\0',因此继续执行循环体,输出 'C'。由于此时 chp 已经指向了字符串的结尾,因此循环结束,输出结果为 "AC"。
相关问题
#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 函数输出换行符,使输出结果换行。
阅读全文