#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;
}