繁体   English   中英

function 没有给出用户在 C 中以二维数组格式输入的 output

[英]function are not giving the output entered by the user in 2D Array format in C

function 没有给出用户输入的正确数字 output 值,并且数组的大小已从主传递到创建的 function。 问题是 output 没有像行和列那样以二维数组格式显示。 源代码:

#include <stdio.h>

int todarr(int td[4][2]){
  for(int i=0;i<4;i++){
   for(int n=0;n<2;n++){
     printf("The number are %d,%d \n", i+1,n+1 ,td[i][n]);
  }
 }
}
int main()
{
int td[4][2];
  for(int i=0;i<4;i++){
   for(int n=0;n<2;n++){
  printf("Enter the number \n");
  scanf("%d", &td[i][n]);
  }
 }
 todarr(td);
 return 0;
}
printf("The number are %d,%d \n", i+1,n+1 ,td[i][n]);

您在这里只有两个%d说明符,但您在格式字符串之后发送了三个 arguments。 在这种情况下,将打印的唯一数字是i+1n+1 你需要有格式字符串

printf("The number are %d,%d: %d \n", i+1,n+1 ,td[i][n]);

此外,考虑将 function todarr标记为 void,除非您打算从中返回值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM