#include<stdio.h> int main() { char b[]="ABCD"; char *chp; for(chp=b;*chp;chp+=2) printf("%s",chp); printf("\n"); }
时间: 2024-05-27 18:09:12 浏览: 102
这段代码的功能是输出字符串 "ABCD" 中的每隔一个字符的子串。具体来说,将字符数组 b 的首地址赋值给指针变量 chp,然后循环中每次将 chp 的值增加 2,即指向下一个字符,直到遇到字符串结束符 '\0' 为止。循环中使用 printf 函数输出 chp 指向的字符子串。因为每次增加 2,所以输出的子串是 "AC"。最后输出一个换行符。
相关问题
1、在windows下,写出运行打印结果。 #include <iostream.h> #include <string.h> void func(char str[100]) { } void main(void) { char str[ ]= “Hello”; char *p=str; int n=10; cout<<sizeof(str)<<endl; cout<<sizeof(p)<<endl; cout<<sizeof(n)<<endl; cout<<sizeof(func)<<endl; return; } 2、设变量a是整型,f是字符型,i是双精度型,则表达式10+a+i*f值的数据类型为什么? 3、请写出以下代码的打印结果 #include<stdio.h> void main( void ) { int a[5]={1, 8, 3, 9, 6}; printf("%d",*(a+3)); } 4.下面程序的输出结果是 。 char b[]=“ABCD”; void main() { char *chp; for(chp=b; *chp; chp+=2) printf(“%s”, chp); printf(“\n”); }
1、在Windows下,代码如下:
```
#include <iostream>
#include <string.h>
using namespace std;
void func(char str[100]) {}
int main() {
char str[] = "Hello";
char *p = str;
int n = 10;
cout << sizeof(str) << endl;
cout << sizeof(p) << endl;
cout << sizeof(n) << endl;
cout << sizeof(func) << endl;
return 0;
}
```
运行结果如下:
```
6
4
4
1
```
2、表达式10+a+i*f的值的数据类型为双精度型,因为i是双精度型,f是字符型,字符型会自动转换为整型,整型和双精度型的运算结果是双精度型。
3、代码的打印结果是:
```
9
```
4、程序的输出结果是:
```
AC
```
阅读全文