2024.7.11c基础

第一题:变量类型不同赋值

char a = 255; int b = a; printf("b=%d\n", b);
255->1111 1111 
又因为char(1字节)为有符号数

int(4字节)

规则:字节数少的数据赋值给字节数多的空间,高位补符号位

          字节数多的数据赋值给字节数少的空间,高位溢出

(计算机存入255的二进制是补码形式)
高位补符号位((1111 1111) (1111 1111) (1111 1111)  )(符号位:1)111 1111)(补码)
1111 1111 1111 1111 1111 1111  1111 1110(反码)(补码减一)

计算机将输出源码对应的%d(10进制)
1000 0000 0000 0000 0000 0000  0000  0001(源码)
->(所以你将看到的值是)-1

第二题:输入两个数交换存储位置

#include<stdio.h>//第二题
void exchange();
int main()
{
exchange();
return 0;
}
void exchange() {
	int a, b;
	printf("请输入两个数:\n");
	scanf("%d%d", &a, &b);
	printf("交换前:\n");
	printf("a=%d, b=%d\n", a, b);
	int temp = a;
	a = b;
	b = temp;
	printf("交换后:\n");
	printf("a=%d, b=%d\n", a, b);
	getchar(); // 读取并丢弃换行符
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值