c语言练习题3

选择D) -1, 65535:第一个值正确,但第二个值%u会将-1解释为一个非常大的无符号整数。

 

 x是3,y是1

输出是结果是主函数中定义的mn的初始值,即5和9。 

 选择d

设置变量a的bit 3

#include <stdio.h>  
  
int main() {  
    int a = 15; // 假设a的初始值为15(二进制表示:1111)  
    int mask = 1 << 3; // 创建一个掩码,bit 3设置为1(二进制表示:0100)  
    a = a | mask; // 使用位或操作符将a的bit 3设置为1,其他位保持不变  
    printf("After setting bit 3: %d (binary: %04d)\n", a, a); // 输出a的值和其二进制表示(假设为4位显示)  
    return 0;  
}

清除变量a的bit 3

#include <stdio.h>  
  
int main() {  
    int a = 27; // 假设a的初始值为27(二进制表示:11011,但我们只关心低4位)  
    int mask = ~(1 << 3); // 创建一个掩码,bit 3设置为0(二进制表示:1011,然后取反得到1100)  
    a = a & mask; // 使用位与操作符将a的bit 3清除为0,其他位保持不变  
    printf("After clearing bit 3: %d (binary: %05d)\n", a, a); // 输出a的值和其二进制表示(假设为5位显示)  
    return 0;  
}

程序会打印出“>6”。 

 

第三行

 

答案是m(#include)和i(#define)。 

 

p2 = a; // p2是一个指向字符数组的指针

c = (*p2)[1]; // 这将赋值'2'到c,因为'5'在a[1]的第二个位置

p3 = str; // p3是一个指向指针的指针
c = *(*(p3 + 0) + 1); // 这将赋值'b'到c,因为'b'在"abcdefg"的第二个位置

c = *(*(p3 + 1) + 4); // 这将赋值'5'到c,因为'5'在"123456789"的第五个位置

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值