📄 page_347.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>page_347</title> <link rel="stylesheet" href="reset.css" type="text/css" media="all"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <table summary="top nav" border="0" width="100%"> <tr> <td align="left" width="30%" style="background: #EEF3E2"><a style="color: blue; font-size: 120%; font-weight: bold; text-decoration: none; font-family: verdana;" href="page_346.html">< previous page</a></td> <td align="center" width="40%" style="background: #EEF3E2"><strong style="color: #2F4F4F; font-size: 120%;">page_347</strong></td> <td align="right" width="30%" style="background: #EEF3E2"><a style="color: blue; font-size: 120%; font-weight: bold; text-decoration: none; font-family: verdana;" href="page_348.html">next page ></a></td> </tr> <tr> <td align="left" colspan="3" style="background: #ffffff; padding: 20px;"> <table border="0" width="100%" cellpadding="0"><tr><td align="center"> <table border="0" cellpadding="2" cellspacing="0" width="100%"><tr><td align="left"></td> <td align="right"></td> </tr></table></td></tr><tr><td align="left"><p></p><table border="0" cellspacing="0" cellpadding="0" width="100%"><tr><td align="right"><font face="Times New Roman, Times, Serif" size="2" color="#FF0000">Page 347</font></td></tr></table><table border="0" cellspacing="0" cellpadding="0"><tr><td rowspan="5"></td> <td colspan="3" height="12"></td> <td rowspan="5"></td></tr><tr><td colspan="3"></td></tr><tr><td></td> <td><font face="Courier New, Courier, Mono New, Courier, Mono" size="2">聽聽聽聽聽聽聽聽cout聽<<聽tennis.聽<<聽endl;<br />聽聽聽聽else聽if聽(temp聽>聽32)<br />聽聽聽聽聽聽聽聽cout聽<<聽golf.聽<<聽endl;<br />聽聽聽聽else聽if聽(temp聽>聽0)<br />聽聽聽聽聽聽聽聽cout聽<<聽skiing.聽<<聽endl;<br />聽聽聽聽else<br />聽聽聽聽聽聽聽聽cout聽<<聽dancing.聽<<聽endl;<br />}</font></td><td></td></tr><tr><td colspan="3"></td></tr><tr><td colspan="3" height="1"></td></tr></table><table border="0" cellspacing="0" cellpadding="0"><tr><td rowspan="5"></td> <td colspan="3" height="12"></td> <td rowspan="5"></td></tr><tr><td colspan="3"></td></tr><tr><td></td> <td><font face="Times New Roman, Times, Serif" size="3">In the Activity program, the actual parameters in the two function calls are both named </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">temperature</font><font face="Times New Roman, Times, Serif" size="3">. The formal parameter in </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">GetTemp</font><font face="Times New Roman, Times, Serif" size="3"> is a reference parameter named </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">temp</font><font face="Times New Roman, Times, Serif" size="3">. The formal parameter in </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">PrintActivity</font><font face="Times New Roman, Times, Serif" size="3"> is a value parameter, also named </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">temp</font><font face="Times New Roman, Times, Serif" size="3">.</font></td><td></td></tr><tr><td colspan="3"></td></tr><tr><td colspan="3" height="1"></td></tr></table><table border="0" cellspacing="0" cellpadding="0"><tr><td rowspan="5"></td> <td colspan="3" height="12"></td> <td rowspan="5"></td></tr><tr><td colspan="3"></td></tr><tr><td></td> <td><font face="Times New Roman, Times, Serif" size="3">The </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">main</font><font face="Times New Roman, Times, Serif" size="3"> function tells </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">GetTemp</font><font face="Times New Roman, Times, Serif" size="3"> where to leave the temperature by giving it the location of the variable </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">temperature</font><font face="Times New Roman, Times, Serif" size="3"> when it makes the function call. We <i>must</i> use a reference parameter here so that </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">GetTemp</font><font face="Times New Roman, Times, Serif" size="3"> knows where to deposit the result. In a sense, the formal parameter </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">temp</font><font face="Times New Roman, Times, Serif" size="3"> is just a convenient placeholder in the function definition. When </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">GetTemp</font><font face="Times New Roman, Times, Serif" size="3"> is called with </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">temperature</font><font face="Times New Roman, Times, Serif" size="3"> as its actual parameter, all the references to </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">temp</font><font face="Times New Roman, Times, Serif" size="3"> inside the function actually are made to </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">temperature</font><font face="Times New Roman, Times, Serif" size="3">. If the function were to be called again with a different variable as an actual parameter, all the references to </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">temp</font><font face="Times New Roman, Times, Serif" size="3"> would actually refer to that other variable until the function returned control to main.</font></td><td></td></tr><tr><td colspan="3"></td></tr><tr><td colspan="3" height="1"></td></tr></table><table border="0" cellspacing="0" cellpadding="0"><tr><td rowspan="5"></td> <td colspan="3" height="12"></td> <td rowspan="5"></td></tr><tr><td colspan="3"></td></tr><tr><td></td> <td><font face="Times New Roman, Times, Serif" size="3">In contrast, </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">PrintActivity's</font><font face="Times New Roman, Times, Serif" size="3"> formal parameter is a value parameter. When </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">PrintActivity</font><font face="Times New Roman, Times, Serif" size="3"> is called, </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">main</font><font face="Times New Roman, Times, Serif" size="3"> sends a copy of the value of </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">temperature</font><font face="Times New Roman, Times, Serif" size="3"> for the function to work with. It's appropriate to use a value parameter in this case because </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">PrintActivity</font><font face="Times New Roman, Times, Serif" size="3"> is not supposed to modify the actual parameter </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">temperature</font><font face="Times New Roman, Times, Serif" size="3">.</font></td><td></td></tr><tr><td colspan="3"></td></tr><tr><td colspan="3" height="1"></td></tr></table><table border="0" cellspacing="0" cellpadding="0"><tr><td rowspan="5"></td> <td colspan="3" height="12"></td> <td rowspan="5"></td></tr><tr><td colspan="3"></td></tr><tr><td></td> <td><font face="Times New Roman, Times, Serif" size="3">Because actual and formal parameters can have different names, we can call a function with different actual parameters. Suppose we wanted to change the Activity program to print an activity for both the indoor and outdoor temperatures. We could declare integer variables in the </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">main</font><font face="Times New Roman, Times, Serif" size="3"> function named </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">indoorTemp</font><font face="Times New Roman, Times, Serif" size="3"> and </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">outdoorTemp</font><font face="Times New Roman, Times, Serif" size="3">, then write the body of main as:</font></td><td></td></tr><tr><td colspan="3"></td></tr><tr><td colspan="3" height="1"></td></tr></table><table border="0" cellspacing="0" cellpadding="0"><tr><td rowspan="5"></td> <td colspan="3" height="12"></td> <td rowspan="5"></td></tr><tr><td colspan="3"></td></tr><tr><td></td> <td><font face="Courier New, Courier, Mono New, Courier, Mono" size="2">GetTemp(indoorTemp);<br />PrintActivity(indoorTemp);<br />GetTemp(outdoorTemp);<br />PrintActivity(outdoorTemp);<br />return聽0;</font></td><td></td></tr><tr><td colspan="3"></td></tr><tr><td colspan="3" height="1"></td></tr></table><table border="0" cellspacing="0" cellpadding="0"><tr><td rowspan="5"></td> <td colspan="3" height="12"></td> <td rowspan="5"></td></tr><tr><td colspan="3"></td></tr><tr><td></td> <td><font face="Times New Roman, Times, Serif" size="3">In </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">GetTemp</font><font face="Times New Roman, Times, Serif" size="3"> and </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">PrintActivity</font><font face="Times New Roman, Times, Serif" size="3">, the formal parameters would receive values from, or pass values to, either </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">indoorTemp</font><font face="Times New Roman, Times, Serif" size="3"> or </font><font face="Courier New, Courier, Mono New, Courier, Mono" size="3">outdoorTemp</font><font face="Times New Roman, Times, Serif" size="3">.</font></td><td></td></tr><tr><td colspan="3"></td></tr><tr><td colspan="3" height="1"></td></tr></table><table border="0" cellspacing="0" cellpadding="0"><tr><td rowspan="5"></td> <td colspan="3" height="12"></td> <td rowspan="5"></td></tr><tr><td colspan="3"></td></tr><tr><td></td> <td><font face="Times New Roman, Times, Serif" size="3">The following table summarizes the different kinds of parameters that we've seen.</font></td><td></td></tr><tr><td colspan="3"></td></tr><tr><td colspan="3" height="1"></td></tr></table></td></tr></table><p><font size="0"></font></p>聽 </td> </tr> <tr> <td align="left" width="30%" style="background: #EEF3E2"><a style="color: blue; font-size: 120%; font-weight: bold; text-decoration: none; font-family: verdana;" href="page_346.html">< previous page</a></td> <td align="center" width="40%" style="background: #EEF3E2"><strong style="color: #2F4F4F; font-size: 120%;">page_347</strong></td> <td align="right" width="30%" style="background: #EEF3E2"><a style="color: blue; font-size: 120%; font-weight: bold; text-decoration: none; font-family: verdana;" href="page_348.html">next page ></a></td> </tr> </table> </body> </html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -