17day---C++面试题

1.有以下程序,程序的输出的结果 B

int main()
{
	int a =666,b = 888;
	printf("%dn",a,b);
}

A 错误信息
B 666
C 888
D 666,888
解:
printf函数参数的入栈顺序是从右到左(888先入栈,接着666入栈)。所以从栈里面读取一个数据时,指挥读取最后入栈的数据,也即是666
2.如下c程序,在64位处理器上运行后sz的值是
A 24
B 20
C 16
D 14
E 13
F 12
解:
(1)struct的对齐原则,注意不同的编译器有不同的效果
(2)不同的数据类型在32位和64位下所占的字节数区别
32位编译器:
char :1个字节
char * :4个字节
short int : 2个字节
unsigned int: 4个字节
float:4个字节
long:4个字节
double:8个字节
long long :4个字节
64位编译器:
char :1个字节
short int : 2个字节
unsigned int: 4个字节
float:4个字节
long:8个字节
double:8个字节
long long :8个字节
unsigned long :8个字节
3.关于printf的知识点
(1)printf默认是右对齐
(2)printf和scanf是库函数,不是语句
(3)函数包括函数头、大括号、函数体三部分,函数体是可执行部分,而赋值语句只能放到函数体里
(4)printf输出的数据不仅受输出域宽和小数域宽限制,也受数据在内存中存储精度影响

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值