易截截图软件、单文件、免安装、纯绿色、仅160KB

华为C/C++笔试题3

1. 找错
#define MAX_SRM 256
DSN get_SRM_no()
{
    static int SRM_no;
    int I;
    for(I=0;I<MAX_SRM;I++,SRM_no++)
    {
        SRM_no %= MAX_SRM;
        if(MY_SRM.state==IDLE)
        {
            break;
        }
    }
    if(I>=MAX_SRM)
        return (NULL_SRM);
    else
        return SRM_no;
}
答:
(1). SRM_no没有赋初值
(2). 由于static的声明,使该函数成为不可重入(即不可预测结果)函数,因为SRM_no变量放在程序的全局存储区中,每次调用的时候还可以保持原来的赋值。这里应该去掉static声明。
2. 写出程序运行结果
int sum(int a)
{
    auto int c=0;
    static int b=3;
    c+=1;
    b+=2;
    return(a+b+C);
}
  
void main()
{
    int I;
    int a=2;
    for(I=0;I<5;I++)
    {
        printf("%d,", sum(a));
    }
}
答:8,10,12,14,16
该题比较简单。只要注意b声明为static静态全局变量,其值在下次调用时是可以保持住原来的赋值的就可以。
3.
int func(int a)
{
    int b;
    switch(a)
    {
        case 1: b=30;
        case 2: b=20;
        case 3: b=16;
        default: b=0;
    }
    return b;
}
则func(1)=?
答:func(1)=0,因为没有break语句,switch中会一直计算到b=0。
4.
int a[3];
a[0]=0; a[1]=1; a[2]=2;
int *p, *q;
p=a;
q=&a[2];
则a[q-p]=?


相关文档:

Delphi 与 C/C++ 数据类型对照表

Delphi 与 C/C++ 数据类型对照表
Delphi数据类型C/C++
ShorInt
8位有符号整数
char
Byte
8位无符号整数
BYTE,unsigned short
SmallInt
16位有符号整数
short
Word
16位无符号整数
unsigned short
Integer,LongInt
32位有符号整数
int,long
Cardinal,LongWord/DWORD
32位无符号整数
unsigned long
Int6 ......

C计算程序运行时间

#include “stdio.h”
#include “stdlib.h”
#include “time.h”
int main( void )
{
    long     i = 10000000L;
    clock_t start, finish;
    double   duration;
    /* 测量� ......

C++与C混合编程(转)

(转)C++中extern “C”含义深层探索
 
 
1.引言
  C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象&rdquo ......

C break跳出多层循环

 在C/C++中,跳出多层循环有3中方法:
  1.用break;加上一个辅助的标志变量。  
  2.用goto;  
  3.用try   ...   catch;
其中break对if-else语句无效,每次使用只能跳出一层循环。
用break的具体方法为:
bool BREAK=false;
while(...){
for(...){ ......

简述C和C++程序员学习历程

    总是被同学们问到,如何学习C和C++才不茫然,才不是乱学。想了一下,这里给出一个总的回复。
    一家之言,欢迎拍砖哈。
    1、可以考虑先学习C
    大多数时候,我们学习语言的目的,不是为了成为一个语言专家,而是希望成为一个解决问题的专家。做一个� ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号