作者KAINTS (大安Eason哥)
看板C_and_CPP
标题[问题] 函式应用(c语言)
时间Wed Feb 8 19:36:23 2017
开发平台(Platform): (Ex: Win10, Linux, ...)
MacOS
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
xcode
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
none
问题(Question):
主要我是要写一个程式具有两个函式
1) 找到每行的最大值
2) 算出每行的平均值
但是我在观察我的结果 发现引数阵列("v" in my code)会被改变
有在函式加入const 照理说应该不会改变到引数阵列
http://imgur.com/a/imLzE 这是我的结果
http://ideone.com/ocNpA7 这是我的程式码
然後在ideone的环境下执行反而我正确的结果都跑掉了...
我自己有去google const 的用法
有些情况好像const无法保证传值不会被改变...
不过我现在还没看到pointer那章
所以那边观念还很薄弱 太久没碰c了
再麻烦大大跟我说一下我哪边想错了
喂入的资料(Input):
预期的正确结果(Expected Output):
错误结果(Wrong Output):
程式码(Code):(请善用置底文网页, 记得排版)
补充说明(Supplement):
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.133.143.56
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1486553787.A.12D.html
※ 编辑: KAINTS (220.133.143.56), 02/08/2017 20:08:38
谢谢大大 我在研究看看
2F:→ kokal: vy[1][i] 存取到其他位置了 02/09 00:32
这样为什麽会改变到main里面的v??
3F:→ a21802: 二维阵列不能这样传 02/09 14:31
是跟位址有关系吗??
※ 编辑: KAINTS (220.133.143.56), 02/09/2017 22:13:50
4F:→ kokal: 在宣告变数时的记忆体分配顺序是未定义,所以v刚好接在max或 02/09 23:54
5F:→ kokal: ave後面 02/09 23:54