社区
C语言
帖子详情
请问一个关于指针自增自减的问题
musictornado
2002-10-03 09:09:07
请看下面的程序:
void main()
{typedef strct {int x,int y} number[]={{2,3},{4,5},{6,7}};
number *p=(number+1);
printf("%d",++p-->x);
printf("%d",p++-->x);
}
...全文
142
21
打赏
收藏
请问一个关于指针自增自减的问题
请看下面的程序: void main() {typedef strct {int x,int y} number[]={{2,3},{4,5},{6,7}}; number *p=(number+1); printf("%d",++p-->x); printf("%d",p++-->x); }
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
21 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wangchanglu
2002-10-04
打赏
举报
回复
你太马虎了吧 以后不要了 那不是浪费大家的时间吗
musictornado
2002-10-04
打赏
举报
回复
一年,有什么问题吗?
请看我的题好吗?希望支持!!!
Aofa_lee
2002-10-04
打赏
举报
回复
你学编程学了多旧啊?
musictornado
2002-10-04
打赏
举报
回复
up
musictornado
2002-10-04
打赏
举报
回复
up
musictornado
2002-10-04
打赏
举报
回复
sorry,前一题有一点错误,请看下面的另一题,这是99年的初程试题:
#include <stdio.h>
main()
{ struct num{ int x; int y;}
sa[] = {{2, 32}, {8, 16}, {4, 48};
struct num *p = sa+1;
int x;
x = p->y / sa[0].x * ++p->x;
printf(″x = %d p->x = %d\n″, x, p->x);
}
程序1.1的输出结果是____
xiaoluoli
2002-10-04
打赏
举报
回复
void main()
{typedef strct {int x,int y} number[]={{2,3},{4,5},{6,7}};
//typedef struct {int x,int y} number[]={{2,3},{4,5},{6,7}};
//这里定义了结构提数组并赋了初值,number 是一个数组名。
number *p=(number+1);
//定义了一个结构提数组p,并把number+1赋给p
printf("%d",++p-->x);
printf("%d",p++-->x);
}
stone112979
2002-10-04
打赏
举报
回复
up
stonejin
2002-10-04
打赏
举报
回复
我想也是你打错了,
typedef struct {int x,int y} Number;
sonwman
2002-10-04
打赏
举报
回复
程序的功能我看不出来,但我可以肯定P的值没有变化。
指针有它的变化规则。
caitou123
2002-10-04
打赏
举报
回复
哦,打错了,应是这样:
typedef struct {int x;
int y;} Number ;
caitou123
2002-10-04
打赏
举报
回复
typedef strct {int x,int y} number[]={{2,3},{4,5},{6,7}};
what's this?
就是错误,要用的话只能这样:
typedef strct {int x,int y} Number;
Number number[]={{2,3},{4,5},{6,7}};
Number *p=number+1;
...
输出是一样的,都是6。
lw_yx
2002-10-03
打赏
举报
回复
本来就难学了,还非得往牛角里钻,何苦!
lw_yx
2002-10-03
打赏
举报
回复
不要写些莫名的程序,自己跟自己过不去?
Zark
2002-10-03
打赏
举报
回复
number的用法是可以的,number 是变量名,结构名是匿名的。
number[]中存放着三个结构体。
p指向第二个即{4,5}
(++p)->x; p指向第三个,所以是6
p++->x, p仍指向第三个,所以还是6,但做完后,p指向第四个结构体,其值就没有什么意义了。
WuYL7812
2002-10-03
打赏
举报
回复
不应该这样浪费别人的时间。
写这些代码的人有病。
Keanu_Rocky
2002-10-03
打赏
举报
回复
typedef strct {int x,int y} number[]={{2,3},{4,5},{6,7}};
what's this?
我个人觉得,这样做是不是有错误啊?
number是变量名还是类型名??
hehe214
2002-10-03
打赏
举报
回复
看到什么了?
waterstony
2002-10-03
打赏
举报
回复
我看到了。
bigant888
2002-10-03
打赏
举报
回复
看不明白,关注~~
加载更多回复(1)
C语言中
指针
自增
自减
运算常见错误分析.pdf
C语言中
指针
自增
自减
运算常见错误分析
【C语言教育】
自增
自减
运算符专项测试卷:涵盖选择题、填空题、编程题及综合题,用于评估和提升编程技能专注于C语言中的
内容概要:本文档是一份关于C语言
自增
自减
运算符的专项测试卷,旨在考察学生对
自增
(++)和
自减
(--)运算符的理解及其在不同场景下的应用。试卷分为四个部分:选择题、填空题、编程题和综合题。选择题主要考察对
自增
自减
运算符在表达式中的执行顺序和结果的理解,尤其关注未定义行为的情况。填空题则进一步加深对这些运算符行为的理解,包括在复杂表达式中的应用。编程题要求学生编写简单的程序来实现特定功能,如使用
自增
运算符输出奇数序列、利用
指针
遍历数组等。综合题则结合了数组和
指针
的操作,要求学生编写完整的程序并分析复杂表达式的执行过程。 适合人群:具备一定C语言基础的学习者,尤其是正在学习或复习
自增
自减
运算符的学生,以及希望巩固相关知识的程序员。 使用场景及目标:①帮助学习者掌握
自增
自减
运算符在不同情况下的行为,特别是未定义行为的识别;②通过编程练习提高实际编码能力,理解运算符在实际项目中的应用;③培养对C语言底层机制的理解,为后续深入学习打下坚实基础。 阅读建议:由于部分题目涉及未定义行为,学习过程中应特别注意这些情况的实际影响,并尽量避免在实际编程中使用可能导致未定义行为的写法。建议在学习时结合具体的编程环境进行调试,以更好地理解每个表达式的执行过程。
C语言中
自增
(
自减
)运算解析.pdf
C语言中
自增
(
自减
)运算解析
试析二级C语言之
自增
、
自减
运算符.pdf
试析二级C语言之
自增
、
自减
运算符.pdf
c语言
自增
与
自减
运算符共2页.pdf.zip
c语言
自增
与
自减
运算符共2页.pdf.zip
C语言
70,023
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章