当前位置:编程学习 > C/C++ >>

strcpy函数的实现

[cpp]  
#include<stdio.h>  
#include<assert.h>  
  
#define N 100  
  
char *my_strcpy(char *dest,char *src)  
{  
    //返回值保存  
    char *p = dest;   
    //检查入参,使程序健壮  
    assert(dest != NULL || src !=NULL);  
    //注意越界  
    while((*dest++ = *src++) != '\0');  
  
    //返回字符指针,是函数可以用于链式表达式,增强可用性  
    return p;  
}  
int main()  
{  
    char str1[N];  
    char *str2 = "My future is wonderful.";  
    printf("%s\n",my_strcpy(str1,str2));  
    return 0;  
}  
进项目笔试中碰到的一个题目,求优化。
[cpp 
#include<stdio.h>  
#include<assert.h>  
  
#define N 100  
/* 实现查找一个数组小于平均值的所有元素 
   number为要查找的数组,n元素个数,store返回的数组, 
   函数返回小于平均值的个数 
*/  
int iFindSmallerNum(int number[],int n,int store[])  
{  
    int i,j=0,sum = 0,ave;  
    *store = *store;  
    assert(n>0);  
    for(i=0; i<n; i++)  
        sum += number[i];  
    ave = sum / n;  
    for(i=0;i<n;i++)  
    {  
        if(number[i]<ave)  
            store[j++] = number[i];  
    }  
  
    return j;  
}  
  
int main()  
{  
    int number[10] = {10,12,14,16,18,20,22,24,26,28};  
    int store[N];  
    int n,no = iFindSmallerNum(number,10,store);  
    printf("%d\n",no);  
    for(n = 0; n<no;n++)  
        printf("%d\t",store[n]);  
  
  
    return 0;  
}  
 
 
补充:软件开发 , C++ ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,