Advertisement

这道题考查的是C语言中的字符串操作

阅读量:

一、请问运行 Test 函数会有什么样的结果?

复制代码
 void GetMemory(char *p)

    
 {
    
     p = (char *)malloc(100);
    
 }
    
 void Test(void)
    
 {
    
     char *str = NULL;
    
     GetMemory(str);
    
     strcpy(str, "hello world");
    
     printf(str);
    
 }
    
    
    
    

答案是:NULL

该函数的参数为字符串指针类型,在函数内部对参数进行更改时无法真正地影响传递给函数的那个变量;即使调用完该函数后仍保持NULL状态

不要仅仅因为表面现象就被误导。
即便如此深入处理字符串也会

全部评论 (0)

还没有任何评论哟~