pt1=&a;pt2=&b; if(a
printf(“%d,%d\\n”,*pt1,*pt2); }
上机调试此程序。如果不能实现题目要求,指出原因,并修改之。 ? 2个学生各学 4 门课,计算总平均分,并输出第 n 个学生成绩 main()
{ void average(float *p,int n); void search(float (*p)[4],int n); float score[3][4]=
{{65,67,79,60},{80,87,90,81}, {90,99,100,98}}; average(*score,12); search(score,2); }
void average(float *p,int n) { float *p_end, sum=0,aver; p_end=p+n-1;
for(;p<=p_end;p++) sum=sum+(*p); aver=sum/n;
printf(\ }
void search(float (*p)[4], int n) { int i;
printf(\ for(i=0;i<4;i++)
printf(\ }
写一个函数,从传入的 num 个字符串中找出最长的一个字符串,并通过形参指针 max 传回该串地址。(注意:用 **** 作为结束输入的标志。) #include \ #include \ #include \
/* 函数 strlen() 用于求出字符串的长度,这个题中主要是 *max=p; 不能换成 max=&p ;如果用 maz=&p; 则只改变了 max 的指向,它不能传回给实参。因此我们要改变 max 指 向地址中的内容,这才能使得实参 ps 有正确的值。 */ fun(char (*a)[81], int num,char **max) { char *p=a[0];int i; for(i=1;i
main()
{ char ss[10][81],*ps; int n,i=0; clrscr();
printf(\ gets(ss[i]); puts(ss[i]);
while(!strcmp(ss[i],\ { i++;
gets(ss[i]); puts(ss[i]); } n=i;
fun(ss,n,&ps);
printf(\ }
要求:写出以上操作的主要步骤、使用的命令及实验小结