为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我编写的fun函数中printf("%3d",b[k]);打印出来全是0呢?

为什么我编写的fun函数中printf("%3d",b[k]);打印出来全是0呢?

撒科打诨 2022-07-08 15:07:31
#include <stdio.h>void fun (int (*s)[10], int *b, int *n, int mm, int nn){int i ,j,k;for(i=0;i<mm;i++)for(j=0;j<nn;j++){b[k++]=s[i][j];printf("%3d",b[k]);*n=k;}}void main(){FILE *wf;int w[10][10]={{33,33,33,33},{44,44,44,44},{55,55,55,55}}, i, j;int a[100]={0},n=0 ;printf("The matrix:\n");for (i=0; i<3; i++){for (j=0;j<4;j++)printf("%3d",w[i][j]);printf("\n");}fun(w,a,&n,3,4);printf("The A array:\n");for(i=0; i<n; i++)printf("%3d",a[i]);printf("\n\n");/******************************/wf=fopen("out.dat","w");for(i=0; i<n; i++)fprintf(wf,"%3d",a[i]);fclose(wf);/*****************************/}
查看完整描述

1 回答

?
慕神8447489

TA贡献1780条经验 获得超1个赞

  1. 把int i ,j,k;改成int i ,j,k=0;。

  2. 把b[k++]=s[i][j];printf("%3d",b[k]);改成b[k]=s[i][j];printf("%3d",b[k++]);——在这里输出没有必要,建议把printf("%3d",b[k]);删除。


查看完整回答
反对 回复 2022-07-11
  • 1 回答
  • 0 关注
  • 177 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号