28day---C++面试题

1.静态外部变量只在本文件内可用。
解:
在外部变量的定义前面加上关键字static,就表示定义了一个外部静态类。
外部静态变量具有全局的作用域和全局的生存期,定义成static类型的外部变量将无法再使用extern将其作用范围扩展到其他文件中,而是被限制在本身所在的文件内。
2. * p++表示: 自增p
解:后缀++ 和-- 操作符本质上比前缀一目操作的优先级高, 因此
p++ 和*(p++) 等价
3.以下程序:程序运行时出现错误

#include "stdio.h"
#include "string.h"
 
void fun( char *s)
{ 
	char t[7];
	s=t;
	strcpy(s, "example");
}
 
int  main()
{ 
	char *s;
 
	fun(s);
	printf("%s",s);
 
	return 0;
}

解:主函数里的s没有被初始化,即使初始化了,传到fun函数里,也会存在溢出的情况,程序终止。即使s初始化了,也不会输出"example",这只是值传递。
4.
#pragma comment。将一个注释记录放置到对象文件或可执行文件中。
#pragma pack。用来改变编译器的字节对齐方式。
#pragma code_seg。它能够设置程序中的函数在obj文件中所在的代码段。如果未指定参数,函数将放置在默认代码段.text中
#pragma once。保证所在文件只会被包含一次,它是基于磁盘文件的,而#ifndef则是基于宏的。
5.程序的输出是 22

void main (void) {
    int i ;
    i = 0x10+ 010+10;
    printf (“x = %x”, i); 
}

解:0x10表示16
010表示8
结果为 34
%x:十六进制输出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值