栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言经典面试题10道(四)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言经典面试题10道(四)

31.写一个“标准”宏,这个宏输入两个参数并返回较小的一个。

答案:
#define Min(X, Y) ((X)>(Y)?(Y):(X))// 结尾没有 ;

32.带参宏与带参函数的区别(至少说出5点)?

答案:
      带参宏        带参函数

处理时间------编译时------- 运行时

参数类型 ----- 无-------------需定义

程序长度 ------变长----------不变

占用存储空间-否 ----------- 是

运行时间-------不占运行时间–调用和返回时占

33.关键字volatile有什么含意?

答案:提示编译器对象的值可能在编译器未监测到的情况下改变。
 

34.

int main()
{
    int x=3;
    printf("%d",x);
    return 1;
}
问函数既然不会被其它函数调用,为什么要返回1?

答案:mian中,c标准认为0表示成功,非0表示错误。具体的值是某中具体出错信息。

 

35.已知一个数组table ,用一个宏定义,求出数据的元素个数。

答案:
#define NTBL(table) (sizeof(table)/sizeof(table[0]))

36.A.c 和B.c两个c文件中使用了两个相同名字的static变量,编译的时候会不会有问题?
这两个static变量会保存到哪里(栈还是堆或者其他的)?

答案:static的全局变量,表明这个变量仅在本模块中有意义,不会影响其他模块。他们都放在静态数据区,但是编译器对他们的命名是不同的。如果要使变量在其他模块也有意义的话,需要使用extern 关键字。

37.static全局变量与普通的全局变量有什么区别?

答案:作用域不同,static全局变量只初使化一次,防止在其他文件单元中被引用。


38.static局部变量和普通局部变量有什么区别?

答案:static局部变量只被初始化一次,下一次依据上一次结果值。

39.static函数与普通函数有什么区别?

答案:static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝。
参考:https://blog.csdn.net/qq_22238021/article/details/79533711

40.程序的局部变量存在于()中,全局变量存在于 ()中,动态申请数据存在于()中。

答案:程序的局部变量存在于栈(stack) 中,全局变量存在于静态数据区中,动态申请数据存在于堆(heap)中。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/879410.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号