游戏公司C语言面试题

    技术2022-05-17  12

     

     

     

     

    #include <iostream>

    using namespace std;

     

    //apply memories in a function.

    void GetMemory(char ** p )

    {

    *p = (char*)malloc(10);

    }

     

    /**

    * p will be free after GetMemory2 invoked.

    */

    char *GetMemory2(void)

    {

       char p[] = "hello world";

       return p;

    }

    /**

    * write a function which concat a string to another string without using system library

    */

    char * strconcat(char * destStr,const char *  srcStr)

    {

    char * header = destStr;

    while( *destStr !='/0')

    {

    destStr++;

    }

    while(*srcStr !='/0')

    {

    *destStr++ = *srcStr++;

    }

    *destStr = '/0';

    return header;

    }

     

    int main()

    {

    //1./*

    char * p = NULL;

    GetMemory(&p);

    strcpy(p,"Hello");

    cout<<p<<endl;

    free(p); 

    //2.

    char * p2 = NULL;

    p2 = GetMemory2(); 

    strcpy(p2,"Hello");

    cout<<p2<<endl;

     

    //3.

    char * str = (char*)malloc(sizeof(100));

    free(str);

    if(str != NULL)

    {

    strcpy(str,"world");

    cout <<str<<endl;

    }

     

    //4.

    char str1[15] = "Hello";

    char * str2 = "World";

    strconcat(str1,str2);

    cout<<str1<<endl;

    return 0;

    }

     

     

     


    最新回复(0)