鱼C论坛

 找回密码
 立即注册
查看: 1512|回复: 8

C 44课后练习Vc6 ,使用问题

[复制链接]
发表于 2015-3-5 12:02:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
  1. #include <stdio.h>

  2. void main()
  3. {
  4.         int a[3][4]={{45,21,16,99},{8,74,20,51},{5,62,3,}},i,j,b,(*p)[4];
  5.        
  6.        
  7.         for (b=1;b<10;)
  8.         {
  9.                 printf("i=");
  10.                
  11.                 scanf("%d",&i);
  12.                
  13.                 if (i>2 || i<0)
  14.                 {
  15.                         ;
  16.                 }
  17.                 else
  18.                         break;
  19.         }
  20.        
  21.         for (b=1;b<10;)
  22.         {
  23.                 printf("j=");
  24.                
  25.                 scanf("%d",&j);
  26.                
  27.                 if (j>3 || j<0)
  28.                 {
  29.                         ;
  30.                 }
  31.                 else
  32.                         break;
  33.         }

  34.         p=a;
  35.         printf("第%i行,第%d例存储的是:%d",i,j,  *(*(p+i)+j) );

  36.         printf("\n");

  37.        
  38.        
  39.        
  40. }
复制代码


请看图片右下角:*(*(p+i)+j) 为啥没有值? 为何没计算出值? 左面窗口明明计算出==0了。
而**((p+i)+j)就有值了;

11111111111111111111.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-3-5 12:34:29 | 显示全部楼层
你这代码没问题 截图运行结果也没问题啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-3-5 12:35:36 | 显示全部楼层
右边没计算出来是应为你没初始化那个值你是不完全初始化最后的值默认是0但是实际上内存的值不是0啊当然计算不出来了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-5 12:42:13 | 显示全部楼层
本帖最后由 haiouda 于 2015-3-5 12:44 编辑
牡丹花下死做鬼 发表于 2015-3-5 12:35
右边没计算出来是应为你没初始化那个值你是不完全初始化最后的值默认是0但是实际上内存的值不是0啊当然计算 ...

定义数组时,缺少的元素,不是默认为是 0 嘛;何况后面的**(p+i+j)都得出结是了。它们二者都指象相同的内存地址,为何后者只有值?

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-3-5 12:48:03 | 显示全部楼层
haiouda 发表于 2015-3-5 12:42
定义数组时,缺少的元素,不是默认为是 0 嘛;何况后面的**(p+i+j)都得出结是了。它们二者都指象相同的 ...

是默认0但不是直接赋值为0而是你用的时候为0就好比为初始化的变量读取出来是-8什么什么的但内存的值不是这个啊
还有*垃圾数字 结果你觉得不是0是什么???
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-5 12:52:00 | 显示全部楼层
本帖最后由 haiouda 于 2015-3-5 13:02 编辑
牡丹花下死做鬼 发表于 2015-3-5 12:48
是默认0但不是直接赋值为0而是你用的时候为0就好比为初始化的变量读取出来是-8什么什么的但内存的值不是 ...

一个有值,一个没有值多了括号,有点晕;现在看来好象是VC6.0 软件的事; 多谢热心回复
333333333333333.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-3-5 13:04:55 | 显示全部楼层
haiouda 发表于 2015-3-5 12:52
一个有值,一个没有值多了括号,有点晕;现在看来好象是VC6.0 软件的事; 多谢热心回复

好吧  指针地址问题可能我记错了~~~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-3-5 13:05:11 | 显示全部楼层
haiouda 发表于 2015-3-5 12:52
一个有值,一个没有值多了括号,有点晕;现在看来好象是VC6.0 软件的事; 多谢热心回复

可这又怎么样??
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-5 13:11:15 | 显示全部楼层
本帖最后由 haiouda 于 2015-3-5 13:13 编辑

最上面,第一个图; 是软件出错了,所以没得出值,现在分析只能这么认为了

尽信书不如无书------------尽信软件(只做一次,就得出结论),不如无软件
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-19 03:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表