题目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#include #include 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;}