void main() {union { int k; char i[2]; }*s,a; s=&a; s->i[0]=
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/05 01:31:00
void main() {union { int k; char i[2]; }*s,a; s=&a; s->i[0]=0x39;s->i[1]=0x38; printf("%d\n",s->k);
void main()
{union
{
int k;
char i[2];
}*s,a;
s=&a;
s->i[0]=0x39;s->i[1]=0x38;
printf("%d\n",s->k);
}
求输出结果(详细解及思路)
void main()
{union
{
int k;
char i[2];
}*s,a;
s=&a;
s->i[0]=0x39;s->i[1]=0x38;
printf("%d\n",s->k);
}
求输出结果(详细解及思路)
union {// 着是个共用体,就是说int的k与char*2的i[2]共用同一个存储空间
int k;
char i[2];
}*s,a;
s=&a;// s指向a的地址
s->i[0]=0x39;// 将16进制的39(2进制00110101)写入a.i[0];
s->i[1]=0x38;// 将16进制的38(2进制00110100)写入a.i[1];
printf("%d\n",s->k);// 输出a.k(2进制0011010100110100)并换行
对了,这里还要看int占几位,
若int占2位则结果是14393;(0x3839)
若int占4位结果就是-859031495;(0xcccc3839)
int k;
char i[2];
}*s,a;
s=&a;// s指向a的地址
s->i[0]=0x39;// 将16进制的39(2进制00110101)写入a.i[0];
s->i[1]=0x38;// 将16进制的38(2进制00110100)写入a.i[1];
printf("%d\n",s->k);// 输出a.k(2进制0011010100110100)并换行
对了,这里还要看int占几位,
若int占2位则结果是14393;(0x3839)
若int占4位结果就是-859031495;(0xcccc3839)
void main() {union { int k; char i[2]; }*s,a; s=&a; s->i[0]=
void main( ) { char *s="12134211"; int v[4]={0,0,0,0},k,i; f
#include#include void main(){ int a,i;char s[20];printf("Inp
void fun(char *s[],int n) { char *t;int i,j for(i=0;i
union { int i; char x[2]; }a; int main() { a.x[0]=10; a.x[1]
#include #include void main() { char ch; int a,s,k,t; while(
void main() {char ch[20]="Example354"; for(int i=0;i='A'
union pw {int i;char ch[2]; }a; main () {a.ch[0]=10; a.ch[1]
main() { union { char i[2]; int k; } r; r.i[0]=2; r.i[1]=0;
偶数字母换成大写.#include void chg(char *s){int i,n=0;char *p=s;whil
#include #define S(x) x*x void main() { int a,k=3,m=1; a=S(k
这个程序有什么问题?#include/*void strcpy(char *s,char *t){int i=0;whi