C语言题目

就决定是你翋 2019-06-14 04:49:45
#include <stdio.h> void main() { struct complex { int x; int y; }num[2]={1,3,2,7}; printf("%d\n",num[0].y/num[0].x*num[1].x); } 为何结果为6,能不能给出详细过程,而且这是不是共用体的变型题目啊?
...全文
126 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
轻箬笠 2019-06-15
  • 打赏
  • 举报
回复
引用 4 楼 来不及的如果 的回复:
我C语言初学啊!我真的看不懂啊

这不是看得懂看不懂的问题。编程需要实践。既然入了C语言的坑,那肯定写过hello world吧。既然写过hello world,print应该会用吧。把你问的问题复制到vs(vc6或者turbo c,不清楚现在用到ide是哪种),这个不难吧。直接编译跑一遍是最基础的吧。哪里不会或者不懂的,用print打印下,不难吧。
等你把上面那些都搞明白了。实在不理解数组的内存分布,再来问问,或者问问老师,应该就能理解了吧。
就决定是你翋 2019-06-14
  • 打赏
  • 举报
回复
引用 3 楼 轻箬笠的回复:
楼主也太懒了吧。这种题直接放到vs里面跑一遍就知道了。如果不确定num[0]和num[1]里面的数值,std::cout打印下就知道了。再不清楚,看看什么叫数组,数组的内存排列顺序和数组的初始化也能懂。直接问,就算给了你答案,除了应付了这道题目,你还得到什么了
我C语言初学啊!我真的看不懂啊
轻箬笠 2019-06-14
  • 打赏
  • 举报
回复
楼主也太懒了吧。这种题直接放到vs里面跑一遍就知道了。如果不确定num[0]和num[1]里面的数值,std::cout打印下就知道了。再不清楚,看看什么叫数组,数组的内存排列顺序和数组的初始化也能懂。直接问,就算给了你答案,除了应付了这道题目,你还得到什么了
自信男孩 2019-06-14
  • 打赏
  • 举报
回复
这不是共用体的问题,共用体应该是union关键字,而不是struct
自信男孩 2019-06-14
  • 打赏
  • 举报
回复
其实主要是把num[0].y, num[0].x, num[1].x的值打出来就可以知道为啥结果为6了
3/1 × 2 = 6

struct  complex
{
int x;
int y;
}num[2]={ {1,3},{2,7}};

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧