1.则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是 A)scanf("x=%d y=%d",&x,&y);a=getchar();b=getchar();c=getchar(); B)scanf("%d %d",&x,&y);a=getchar();b=getchar();c=getchar(); C)scanf("%d%d%c%c%c",&x,&y,&a,&b,&c); D)scanf("%d%d%c%c%c%c%c%c",&x,&y,&a,&a,&b,&b,&c,&c); 答案是D,不明白,请各位帮忙讲一下。
2.有以下程序 main() {char *d="121"; int k=0,a=0,b=0; do { k++; if(k%2==0){a=a+s[k]-'0';continue;} b=b+s[k]-'0'; a=a+s[k]-'0';} while(s[k+1]); printf("k=%d a=%d b=%d\n",k,a,b); } 程序运行后的输出结果是 A)k=3 a=2 b=3 B) k=3 a=3 b=2 C)k=2 a=3 b=2 D) k=2 a=2 b=3 答案是C 能不能帮忙把每一步怎么算的写一下。非常感谢
3.有以下程序 main() { union { char i[2]; int k; }r; r.i[0]=2;r.i[1]=0; printf("%d\n",r.k); } 程序运行后的输出结果是 A) 2 B) 1 C) 0 D) 不确定 答案是A,我认为是D 请帮忙解释一下