scanf

    技术2022-05-19  18

     

    #include<stdio.h>

    int main(){        int i;        char c;        printf("addi=%p,addc=%p",&i,&c);        for(i=0;i<5;i++)        {                scanf("%d",&c);                printf("%d,%d/n",c,i);        }        return 0;}

     

     

    [root@bogon cTest]# ./a.out addi=0xbffcb550,addc=0xbffcb54fd0,00,10,20,30,4

     

    [root@bogon cTest]# ./a.out addi=0xbfa5e500,addc=0xbfa5e4ff254-2,033,044,05656,077,0

     

     

    [root@bogon cTest]# ./a.out addi=0xbfb58170,addc=0xbfb5816f2560,133,0

     

    c,i在内存中相邻存放,但是当往C中存放int型数据时,按低位存放是怎么放的呢?是按4个字节来低对低,高对高么?

     

    特别当按INT型存放时,输入的却是CHar型时又是什么情况呢?

     

    用GCC -S *.C发现完全看不懂啊,汇编代码有些奇怪。


    最新回复(0)