網域名稱俱樂部


返回   網域名稱俱樂部 > 電腦與網路技術 > 電腦網路相關技術 > 一般軟體與網路使用討論

回覆
 
主題工具
  #11  
舊 2014-06-16, 11:17 PM
哈啦 的頭像
哈啦 哈啦 目前離線
論壇管理員
 
註冊日期: 2002-05-28
文章: 22,996
預設

引用:
作者: yumi 查看文章
用dev-c++编译,两个数字相同
换个编译器,就不同了
我也是用 dev-c++ 5.4.2 版本。

您看看這程式碼是否有什麼邏輯上的問題嗎?
拿去codepad.org 試也是一樣嗎?
__________________
咖啡走路
微博


您是網站站長嗎?歡迎到站長俱樂部 一起討論吧。
按我看版規
code.club
回覆時引用此篇文章
  #12  
舊 2014-06-17, 10:58 PM
yumi yumi 目前離線
進階會員
 
註冊日期: 2005-12-29
文章: 1,373
預設

在codepad.org跑的话,即使同一个程式,跑两次三次,结果也都是不同的,更不要说两个程式了。
在我的机器上,dev-c++ 4.9.9.2 跑这两程式,左右俩数相同,中间不同。
换别的编译器跑这俩程式,左右俩数也是不同。
这俩程式,逻辑上没有什么问题。
__________________
收购各位版友的四字母com、数字米com/net/cc、三杂米com、拼音米。价格随行市价。站内联系。
回覆時引用此篇文章
  #13  
舊 2014-06-17, 11:24 PM
哈啦 的頭像
哈啦 哈啦 目前離線
論壇管理員
 
註冊日期: 2002-05-28
文章: 22,996
預設

引用:
作者: yumi 查看文章
在codepad.org跑的话,即使同一个程式,跑两次三次,结果也都是不同的,更不要说两个程式了。
在我的机器上,dev-c++ 4.9.9.2 跑这两程式,左右俩数相同,中间不同。
换别的编译器跑这俩程式,左右俩数也是不同。
这俩程式,逻辑上没有什么问题。
所以是否可以假設,因為程式的內容有些許不同,就會影響了它對記憶體內存的位址安排?這是我自己猜的。
__________________
咖啡走路
微博


您是網站站長嗎?歡迎到站長俱樂部 一起討論吧。
按我看版規
code.club
回覆時引用此篇文章
  #14  
舊 2014-06-18, 12:53 AM
yumi yumi 目前離線
進階會員
 
註冊日期: 2005-12-29
文章: 1,373
預設

位址应该是运行时由操作系统分配的,而不是程式编译时分配的。
打印出来的地址只是逻辑地址,并非物理地址。
__________________
收购各位版友的四字母com、数字米com/net/cc、三杂米com、拼音米。价格随行市价。站内联系。
回覆時引用此篇文章
  #15  
舊 2014-06-18, 12:58 AM
哈啦 的頭像
哈啦 哈啦 目前離線
論壇管理員
 
註冊日期: 2002-05-28
文章: 22,996
預設

引用:
作者: yumi 查看文章
位址应该是运行时由操作系统分配的,而不是程式编译时分配的。
打印出来的地址只是逻辑地址,并非物理地址。
什麼叫邏輯地址?
它們會變化的原因到底是什麼呢?

thanks
__________________
咖啡走路
微博


您是網站站長嗎?歡迎到站長俱樂部 一起討論吧。
按我看版規
code.club
回覆時引用此篇文章
  #16  
舊 2014-06-25, 06:17 PM
哈啦 的頭像
哈啦 哈啦 目前離線
論壇管理員
 
註冊日期: 2002-05-28
文章: 22,996
預設

再回到這邊來,愈搞愈糊塗。

先簡單的問好了,printf("%p %p",x,&x);
求變數x的位址時,一定要&x嗎?那printf("%p",x)時,是得到什麼的值?

例如下面的寫法:
#include <stdio.h>

int main(void)
{
int x=10;
printf("%p\n",&x);
printf("%p",x);

return 0;
}

得到的結果是:
&x==>000000000022FE5C
x==>000000000000000A

雖然%p是求位址,但只寫x它也給出答案值,這表示?

__________________
咖啡走路
微博


您是網站站長嗎?歡迎到站長俱樂部 一起討論吧。
按我看版規
code.club
回覆時引用此篇文章
  #17  
舊 2014-06-25, 09:58 PM
yumi yumi 目前離線
進階會員
 
註冊日期: 2005-12-29
文章: 1,373
預設

&x==>000000000022FE5C 这个当然是位址
x==>000000000000000A 这个就是x的值(10),写成16进制:A
__________________
收购各位版友的四字母com、数字米com/net/cc、三杂米com、拼音米。价格随行市价。站内联系。
回覆時引用此篇文章
  #18  
舊 2014-06-25, 10:33 PM
哈啦 的頭像
哈啦 哈啦 目前離線
論壇管理員
 
註冊日期: 2002-05-28
文章: 22,996
預設

引用:
作者: yumi 查看文章
&x==>000000000022FE5C 这个当然是位址
x==>000000000000000A 这个就是x的值(10),写成16进制:A
十分感謝,總算讓我心中的疑惑獲得澄清,只是常常會重覆忘記。
__________________
咖啡走路
微博


您是網站站長嗎?歡迎到站長俱樂部 一起討論吧。
按我看版規
code.club
回覆時引用此篇文章
回覆

主題工具

發文規則
不可以發表新主題
不可以發表回覆
不可以上傳附件
不可以編輯自己的文章

啟用 BB 代碼
論壇啟用 表情符號
論壇啟用 [IMG] 代碼
論壇禁用 HTML 代碼



所有時間均為 +8。現在的時間是 01:17 AM


本站主機由網易虛擬主機代管
Powered by vBulletin® 版本 3.8.4
版權所有 ©2000 - 2024,Jelsoft Enterprises Ltd.