![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言面试题分享
文章平均质量分 52
吾爱技术圈
这个作者很懒,什么都没留下…
展开
-
C语言面试题分享(6)
注:以下都是找错题(即:找出程序中的错误或不合理的地方)一、void test1(){ char string[10]; char* str1 = "0123456789"; strcpy(string, str1);}解答:字符串str1有11个字节(包括末尾的结束符’\0’),而数组string只有10个字节,故而使用strcpy函数将str1复制到string中会导致数组string越界一个字节,可能导致系统崩溃。题外:使用如下例程探究一下strcpy函数复制字符串时是否会原创 2021-02-20 21:14:58 · 200 阅读 · 0 评论 -
C语言面试题分享(5)
一、下列程序的执行结果是_________。#include <stdio.h>union un{ int i; char c[2];};void main(){ union un x; x.c[0]=10: x.c[1]=1: printf(“%d\n”,x.i);}A)266 B)11 C)265 D)138答案:A评析:由于本题定义的是共用体,所以成员列表中的整型变量x与字符数组c共占用同一个存储单元,且此存储单元为2个字节,通常c原创 2020-12-29 20:50:39 · 1396 阅读 · 0 评论 -
C语言面试题分享(4)
一、下列程序的输出结果是________。int main(void){ int a=0,b=0,c=0; if(++a>0||++b>0)++c; printf("\na=%d,b=%d,c=%d",a,b,c),}A)a=0,b=0,c=0 B)a=1,b=1,c=1C)a=1,b=0, c=1 D)a=0, b=1,c=1答案:C评析:“||”是或运算,它有个特点需特别注意,当“||”运算符左边的表达式的值为真时,则程序就不再对“||”原创 2020-12-26 14:19:20 · 330 阅读 · 0 评论 -
C语言面试题分享(3)
一、用变量a给出下面的定义a) 一个整型数(An integer)int a;b) 一个指向整型数的指针(A pointer to an integer)int*a;c) 一个指向指针的的指针,它指向的指针是指向一个整型数(A pointer to a pointer to an integer)intb = 0;int *p = &b;int **prt = p&;d) 一个有10个整型数的数组(An array of 10 integers)int a[10];e) 一原创 2020-12-26 12:08:25 · 1675 阅读 · 1 评论 -
C语言面试题分享(2)
一、sizeof 和 strlen 有何区别?分析:sizeof 是一个操作符,strlen 是库函数。sizeof 的参数可以是数据的类型,也可以是变量,而 strlen 只能以结尾为‘\0‘的字符串作参数。编译器在编译时就计算出了sizeof 的结果。而 strlen 函数必须在运行时才能计算出来。并且sizeof计算的是数据类型占内存的大小,而 strlen 计算的是字符串实际的长度。数组做sizeof 的参数不退化,传递给 strlen 就退化为指针了。二、strcpy、sprintf原创 2020-12-26 11:54:01 · 123 阅读 · 0 评论 -
C语言面试题分享(1)
一、用预处理指令#define 声明一个常数,用以表明一年中有多少秒。(忽略闰年问题)#define SECOND_PER_YEAR (606024*365)UL分析:#define语法的基本常识(例如:不能以分号结束,括号的使用,通常的代码规范要求宏必须全部大写等等)写出你是如何计算一年中有多少秒而不是计算实际的值,会更有价值(懂得预处理器将为你计算常数表达式的值)这个表达式将使一个十六位机的int整型数溢出。因此要用到长整型符号L,告诉编译器这个常数是长整型的(可移植性)UL(表示无符号长原创 2020-12-25 17:38:55 · 562 阅读 · 0 评论