面试题第二弹

题目1:bool、int、float定义的变量和0值的比较?

(1)bool类型

if(flag)
if(!flag)

(2)int类型

if(flag==0)
if(flag!=0)

(3)float类型

if(flag >= -EPSILON && flag <= EPSILON)

注意float类型是一个浮点型,所以不可以直接用flag == 0这种形式比较0值。

题外话:float类型是小数点后5位有效,double类型是小数点后13位有效。

 

 

题目二:不调用库函数实现字符串的拷贝

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char *copy_string(char *strDes,char *strSou)
{
    int i=0;
    while(*strSou)
    {
        strDes[i++] = *strSou;
        strSou++;
    }
    strDes[i] = '\0';
}

int main(int argc,char *argv[])
{
    char *sou="hello world";
    //char des[100]={0}; 
    char *des = (char*)malloc(strlen(sou)+1); //如果写成指针的形式记得为它分配内存
    copy_string(des,sou);
    printf("des:%s\n",des);
    return 0;
}

 

 

 

posted @ 2018-03-11 22:43  沙漠里的孤鲸  阅读(161)  评论(0编辑  收藏  举报