首页 新闻 会员 周边

为什么通过指针更改变量的值结果却不是我想要的?当*p大于255就出现不同?这是因为什么?

0
悬赏园豆:20 [已解决问题] 解决于 2016-08-03 12:28
#define _CRT_SECURE_NO_WARNINGS
#include<stdlib.h>
#include<stdio.h>
#include<string.h>

void main()
{
    int a;
    int b;
    char *   p;
//    p = 0xaa11
    a = 10;  //1.直接赋值

    printf("&a: %d\n", &a);  //

    //2.间接赋值,直接通过内存
    *((int*)&a) = 200;
    printf("a:%d\n", a);

    {
        p = &a;   //间接赋值,通过指针
        *p = 260;
        printf("p:%d\n", p);
    }
    printf("a:%d\n", a);
    //3. 对内存能不能再取  别名....     c++ 引用  抛砖....

    printf("hello...\n");
    system("pause");
    return;
}

void sub1()
{

}



walanwalan的主页 walanwalan | 初学一级 | 园豆:175
提问于:2016-08-03 11:46
< >
分享
最佳答案
0

因为char的最大值就是255.你买本C程序设计吧.

收获园豆:20
吴瑞祥 | 高人七级 |园豆:29449 | 2016-08-03 11:55
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册