这两个表达式等价吗?(int)*a*(int *)a如果等价 这个函数int cmp_int (const void *
来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/05/15 20:24:52
这两个表达式等价吗?
(int)*a
*(int *)a
如果等价 这个函数
int cmp_int (const void *a,const void *b) {
return (*(int *)a - *(int *)b);
}
可不可以写成
int cmp_int (const void *a,const void *b) {
return ((int)*0a - (int)*b);
}
(int)*a
*(int *)a
如果等价 这个函数
int cmp_int (const void *a,const void *b) {
return (*(int *)a - *(int *)b);
}
可不可以写成
int cmp_int (const void *a,const void *b) {
return ((int)*0a - (int)*b);
}
不等价,含义不同.
(int)*a 是直接把指针a指向的地址里面内容取出来,再转换成int类型
*(int *)a 是把指针a转换int*类型的指针,再取其内容(int类型的)
如果a是char*或short*类型的,(int)*a 跟*(int *)a 结果是不一样的!
如果a是void*,*a的写法是错误的,因为void是无类型,因此无法判断*a的类型
a是const变量,也能直接(int)*a的,只要不对*a赋值就行
(int)*a 是直接把指针a指向的地址里面内容取出来,再转换成int类型
*(int *)a 是把指针a转换int*类型的指针,再取其内容(int类型的)
如果a是char*或short*类型的,(int)*a 跟*(int *)a 结果是不一样的!
如果a是void*,*a的写法是错误的,因为void是无类型,因此无法判断*a的类型
a是const变量,也能直接(int)*a的,只要不对*a赋值就行
求 函数递归问题#include sub(int *a,int n,int k); void main() { int
const int function(const int a,int b)const;怎么解释?举例说明
c语言 集合a-b#include #include int cmp(const int *a,const int *b
#include #include // void fun(int a,int b,int c
有程序的说明语句为:int a[8];int *pa=a;则与表达式a[5]等价的是多少呢
#include void main(void) { int a=
int max(int a,int
#include void main( ) { int a=3,b=5; int *p,*q; void f1(int
#include int main(void) { static int a[4][4]; }
这段函数看不懂啊void zh(int a[][3]){int i,j,t;for(i=0;i
谁来帮我找找错啊int max(int a,int b);void main(){int x,y,z;int max(i
已知int a;并且a已经被正确赋值,则下列逻辑表达式中与(!a)等价的是(A ).(A)(a==