# include & ltstring.h & gt?
# include & ltstdlib.h & gt
//值傳輸
作廢?fun1(char?答
{
答?=?b’;
}
//地址傳遞
夏爾?fun2(char*?答
{
*a?=?a’;
回歸?* a;
}
//動態分配數組
作廢?fun 3(char * & amp;?答
{
a=?(char *)malloc(sizeof(char));
}
夏爾?蔡丹()?
{?
夏爾?選擇[5];?
printf(" \ n * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");?
printf("┌──────┐\n”);?
printf("│?菜單│\ n ");?
printf("?_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \ n ");?
printf("│?1,按值傳遞| \ n ");?
printf("│?2、按地址送達| \ n”);?
printf("│?3、動態數組演示| \ n ");?
printf("│?4、退貨?出局?| \ n ");?
printf("└────────────────┙\n”);?
printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n \ n ");?
做什麽?
{?
Printf("請輸入您的選擇(1-4):");?
scanf("%s ",choose);?
}while(strcmp(choose," 1 ")& amp;& ampstrcmp(選擇," 2 ")& amp;& ampstrcmp(choose," 3 ")& amp;& ampstrcmp(choose," 4 "));?
//返回選中的菜單,註意如果輸入過長?這將是壹個例外,因為選擇[5]只適用於5個字節。?
回歸?選擇[0];?
}?
作廢?主()
{
//執行菜單選擇?
while(1)
{
開關(蔡丹())?
{?
案子?'1':
{
夏爾?答?=?a’;
fun 1(a);
//按值傳遞?內容不變
打破;?
}
案子?'2':
{
夏爾?b?=?b’;
夏爾?答?=?fun 2(& amp;b);
//地址傳遞的內容會發生變化。
打破;?
}
案子?'3':
{
char*?p?=?NULL
fun 3(p);
//動態數組分配成功。
打破;?
}
案子?“4”:退出(0);?
}?
}
}