#include <stdio.h> #include <stdlib.h> struct ks { int a; int *b; } s[4],*p; void main() { int n=1,i; printf("\n"); for(i=0;i<4;i++) { s[i].a=n; s[i].b=&s[i].a; n=n+1; } p=&s[0]; p++; printf("%d,%d\n",(++p)->a,(p++)->a); return 0; }
时间: 2024-04-28 16:20:53 浏览: 37
#include <stdio.h>
4星 · 用户满意度95%
这是一段 C 语言代码,其中定义了一个结构体 ks,包含了两个成员变量 a 和 b,同时定义了一个结构体数组 s[4],以及一个结构体指针 p。在 main 函数中,首先给每个结构体的成员变量 a 赋值为 1、2、3、4。然后,每个结构体的成员变量 b 赋值为对应结构体成员变量 a 的地址。接下来,将 p 指向 s[0],再将 p 自增1,这时 p 指向 s[1]。然后,输出 (++p)->a 和 (p++)->a 的值,其中 (++p)->a 表示先将 p 自增1,然后取出 p 所指向的结构体的成员变量 a 的值;(p++)->a 表示先取出 p 所指向的结构体的成员变量 a 的值,然后将 p 自增1。
这段代码的输出结果为:3,2。
阅读全文