科达笔试题

1.

char *getString(char *p)

{

    p=(char *)malloc(16);

    memset(p,"kdcom");

    return p;

}

void test()

{

char *p1="szkdc";

char *p2;

 

p2=getString(p1);

 

printf("p1=%s,p2=%s",p1,p2);

 

}

 

szkdckdcom

 

2.

void test()

{

static char a=0;

char c;

for(c=0;c<128;c++)

{

    a+=1&c;

}

printf("a=%d",a);

}

 

死循环  char型变量必定小于128.

 

3.将一个小写字符串全部变成大写

char changebig(char *input)

{

    char *s;

    char  *temp;

 

    s=(char *)malloc(256);

    temp=s;

   

    while(*input!=0)

    {

        *s=*input+('A'-'a');

        s++;

        input++;

    }

    *s=0;

return temp;

}

 

4.如何判断一个数为2的幂.

bool Is2(int num)

{

     if(num==0)

     return true;

     if(!num&(num-1))

         return true;

     else

         return false;

}

 

你可能感兴趣的:(C/C++)