写出运行结果并分析#include <stdio.h> void main() { char s[]=“a dog is big ”,*p; p=s; printf(“%c”,*p+5); printf(“%s”,p+5) ;}
时间: 2024-04-22 14:23:26 浏览: 68
#include <stdio.h>
这段代码的运行结果是:
f is big
代码的分析如下:
1. `#include <stdio.h>` 是头文件,表示要引入标准输入输出库。
2. `void main()` 是程序的入口函数,其中 `void` 表示该函数没有返回值,`main()` 表示该函数是程序的起点。
3. `char s[] = "a dog is big";` 定义了一个字符数组 `s`,并初始化为 `"a dog is big"`。
4. `*p` 是一个字符指针,`p=s` 表示将 `s` 数组的首地址赋值给指针变量 `p`。
5. `printf("%c",*p+5);` 表示输出 `*p+5` 所对应的 ASCII 码所代表的字符,由于 `*p` 是字符数组 `s` 的第一个元素 `a`,所以 `*p+5` 等于 `f`。因此该语句的输出结果是 `f`。
6. `printf("%s",p+5);` 表示输出 `p+5` 所指向的字符串,由于 `p` 指向字符数组 `s` 的首地址,因此 `p+5` 指向的是字符串 `"is big"` 的首地址。因此该语句的输出结果是 `is big`。需要注意的是,由于没有在字符串末尾添加 `\0`,所以输出结果后面会有一串乱码。
阅读全文