程序编译没问题,但是为啥输出严格数后得不到相应的结果?

#include<stdio.h>
int main()
int *b,a;
scanf("%d",b);
a=(b)(b)(*b);
printf("%d",a);
}

int *b这样用是不行的。知道你的意思是想在scanf时不进行取地址,但由于b指针没有分配空间,所以不可以
这里没有必要使用什么技巧,最通用的就是最好的

#include<stdio.h>
int main()
{
int b,a;
scanf("%d",&b);
a=b*b*b;
printf("%d",a);
}

代码修改如下

#include<stdio.h>
#include <stdlib.h>
int main()
{
    int *b,a;
    b = (int*)malloc(sizeof(int)); //需要给b申请空间
    scanf("%d",b);
    a=(*b)*(*b)*(*b);
    printf("%d",a);
    free(b);
    return 0;
}

或者:

#include<stdio.h>
int main()
{
    int *b,a,c;
    b = &c;
    scanf("%d",b);
    a=(*b)*(*b)*(*b);
    printf("%d",a);
    return 0;
}