[問題] float *r => int
在下最近練習指標的時候遇到一個問題...
#include<stdio.h>
int main()
{
int a=999;
short int *p;
int *q;
float *r;
double *s;
p=(short int*)&a;
q=&a;
r= (float *) &a;
s=(double*)&a;
printf("p=%d\n",*p);
printf("q=%d\n",*q);
printf("r=%s\n",*r);
printf("s=%d\n",*s);
return 0;
}
這樣跑出來的結果 p q s 都會是999
但是唯讀r會是0
有大大可以幫我解釋為什麼嗎?
還有~要如何才能顯示出正確的值?
感恩~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.192.48.215
推
03/24 23:12, , 1F
03/24 23:12, 1F
推
03/24 23:19, , 2F
03/24 23:19, 2F
→
03/24 23:35, , 3F
03/24 23:35, 3F
※ 編輯: bearbabybaby 來自: 123.192.48.215 (03/24 23:42)
→
03/24 23:51, , 4F
03/24 23:51, 4F
→
03/24 23:53, , 5F
03/24 23:53, 5F
→
03/24 23:54, , 6F
03/24 23:54, 6F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章