全國計(jì)算機(jī)一級《MSOffice》單選練習(xí)題及答案
void GetMemory(char *p)
{
p = (char *)malloc(100);
}
void Test(void)
{
char *str = NULL;
GetMemory(str);
strcpy(str, "hello world");
printf(str);
}
請問運(yùn)行Test函數(shù)會有什么樣的結(jié)果?
答:試題傳入GetMemory( char *p )函數(shù)的形參為字符串指針,在函數(shù)內(nèi)部修改形參并不能真正的改變傳入形參的值,執(zhí)行完 char *str = NULL; GetMemory( str ); 后的str仍然為NULL;
char *GetMemory(void)
{
char p[] = "hello world";
return p;
}
void Test(void)
{
char *str = NULL;
str = GetMemory();
printf(str);
}
請問運(yùn)行Test函數(shù)會有什么樣的結(jié)果?
答:可能是亂碼。 char p[] = "hello world";
return p;
的p[]數(shù)組為函數(shù)內(nèi)的局部自動變量,在函數(shù)返回后,內(nèi)存已經(jīng)被釋放。這是許多程序員常犯的錯誤,其根源在于不理解變量的生存期。
【全國計(jì)算機(jī)一級《MSOffice》單選練習(xí)題及答案】相關(guān)文章:
計(jì)算機(jī)一級MSOffice單選練習(xí)題及答案03-08
全國計(jì)算機(jī)一級《WPS》單選練習(xí)題(含答案)08-06
計(jì)算機(jī)一級MSOffice練習(xí)題及答案12-25
計(jì)算機(jī)一級MSOffice練習(xí)題及答案05-19
2015年全國計(jì)算機(jī)一級考試《msoffice》練習(xí)題及答案05-20
2015全國計(jì)算機(jī)一級考試msoffice考前練習(xí)題及答案05-08
2017計(jì)算機(jī)二級MSOffice單選練習(xí)題及答案05-03
2016計(jì)算機(jī)一級MSOffice練習(xí)題及答案02-09
2017計(jì)算機(jī)一級MSOffice練習(xí)題及答案10-15
- 相關(guān)推薦