程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c語言-C語言指針相關問題,不能理解輸出結果

c語言-C語言指針相關問題,不能理解輸出結果

編輯:編程綜合問答
C語言指針相關問題,不能理解輸出結果
 #include<stdio.h>

typedef unsigned char * char_point;

char_point int_cp(int i)
{  
    printf("i: %d\n", i);
    printf("&i: %p\n", &i);
    printf("(c_p)&i: %p\n", (char_point) &i);
    char_point cp = (char_point) &i;
    return cp;
}


char_point float_cp(float f)
{
    printf("f: %f\n", f);
    printf("&f: %p\n", &f);
    printf("(c_p)&f: %p\n", (char_point) &f);
    char_point cp = (char_point) &f;
    return cp;
}

void endian(char_point cp, int size)
{
    for (int i=0; i<size; i++)
    {
        printf("0x%x\n", cp[i]);
    }

}

int main()
{
    int i = 0x21893678;
    float f = 913.45678f;   

    endian(int_cp(i), sizeof(i));
        //endian((char_point) &i,  sizeof(i));
    printf("== == == ===  =   ==== === = == = == \n");
        //endian((char_point) &f,  sizeof(f));
    endian(float_cp(f), sizeof(f));
}

期望的輸出是和注釋代碼的輸出一致

輸出結果:
圖片說明

注釋的輸出:
圖片說明

最佳回答:


看一下這個,有點幫助的 http://blog.csdn.net/liuhuiyi/article/details/7526889

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved