摘要:
【问题描述】设int arr[] = {6,7,8,9,10}; int *prtr = arr; *(ptr++) += 123; printf(” %d,%d “,*ptr,*(++ptr)); 输出结果为( 8,8 )【解析】(1) ++i和i++的区别【原则1】i++;相当于int temp = i; i = i +1;++i;相当于i = i+1; int temp = i;【原则2】++操作对象必须是变量例:int a = 1,b = 1, c=0; c=((a++)++)+b; //错误的 a++ 使a等于a+1但返回的是a以前的值,一个数值不是变量,不能在++了,就是错误c21 阅读全文
摘要:
【问题描述】写一函数int count(char c)返回字符c的二进制数所含1的个数,例如c=3,其二进制数为00000011,那么此函数返回2。【解析】int count(char a){ int sum=0; char a=6; int i; for(i=7;i>=0;i--) { sum+=((a>>i)&0x01); } return sum;} 阅读全文
摘要:
int a;unsigned int b;printf("%d %d\n", a>=0 && ~a>=0, b>=0 && ~b>=0); 阅读全文
摘要:
return !(x&(x-1)) 阅读全文
摘要:
已知一个数组table,用一个宏定义,求出数据的元素个数。#define length(table) (sizeof(table)/sizeof(table[0])) 阅读全文