第 13 頁:答案 |
(10)閱讀下面程序,則程序的執(zhí)行結(jié)果為 【10】 。
#include "stdio.h"
main()
{ int a=10;
fun(a);
printf("%d\n",a);}
fun(int x)
{ x=50;}
解析: 函數(shù)調(diào)用的時候,函數(shù)名字必須與所調(diào)用的函數(shù)名完全一致,形參與實(shí)參類型要一致,在沒有給出函數(shù)返回值類型的情況下,默認(rèn)為整形,當(dāng)返回值為整型放到主函數(shù)后面時,可以不需要事先說明就調(diào)用這個函數(shù)。
(11)以下程序的輸出結(jié)果是 【11】 。
int fun(int x,int y,int *p,int *q)
{ *p=x*y;
*q=x/y;}
main()
{int a,b,c,d;
a=4;b=3;
fun(a,b,&c,&d);
printf("%d,%d\n",c,d);}
解析: 通過地址傳遞可以在被調(diào)函數(shù)中對調(diào)用函數(shù)中的變量進(jìn)行引用,通過地址的傳遞,在經(jīng)過函數(shù)調(diào)用以后,改變了c,d變量的值。
(12)下面程序是求出數(shù)組arr的兩條對角線上元素之和,請?zhí)羁铡?/P>
#include "stdio.h"
main()
{int arr[3][3]={2,3,4,8,3,2,7,9,8},a=0,b=0,i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if( 【12】 )a=a+arr[i][j];
for(i=0;i<3;i++)
for( 【13】 ;j>=0;j--)
if( 【14】 )
b=b+ arr[i][j];
printf("%d,%d\n",a,b);}
解析: 由于是求對角線元素的和,所以【12】是判斷是否為對角線元素的,填i==j這個判斷條件;對于次對角線的求和,初始化的時候應(yīng)該是從數(shù)組的列最大開始,由于判斷條件是j>=0,所以初始化時候應(yīng)該為最大值減1,即j=2,所以【13】應(yīng)填j=2;【14】是對次對角線的判斷,所以填i+j==2。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |