请求帮忙,非常感谢关于 C语言中函数的!

问题描述

请求帮忙,非常感谢关于 C语言中函数的!

#include
int M,N;
void pr(int w[M][N])
{
printf("%d",w[M][N]);
}
void main()
{
int a[3][3];
int i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
printf("a[%d][%d]=",i,j);
scanf("%d",&a[i][j]);
pr(a);
}

}

这是一个有错误的程序,下面的是正确的程序,他们两个的区别就在于所定义的被调函数的参数不一样;
#include
void pr(int M)
{
printf("%dn",M);
}
void main()
{
int a[3][3];
int i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
printf("a[%d][%d]=",i,j);
scanf("%d",&a[i][j]);
pr(a[i][j]);
}
}

非常感谢;;

解决方案

没看到你M,N这两个值随着循环改变。所以应该一直是数组的0,0

时间: 2024-09-20 10:48:47

请求帮忙,非常感谢关于 C语言中函数的!的相关文章

c-C语言中函数数组调用问题

问题描述 C语言中函数数组调用问题 5C 定义的二维数组为全局变量,在主函数中有多个子函数要用到它.请问下大家,子函数中计算的此二维数组的值间能传递么?还是也需要调用呢?~~ 解决方案 可以传引用或者指针,或者定义为全局变量.那就直接用不用传了. 解决方案二: 传递数组地址或指针,C中没有引用 解决方案三: 你用全局变量,每个函数里面都可以改啊. 解决方案四: 全局的直接访问就行了,就是要注意不要把里面的数据乱改,导致读取出问题 解决方案五: 你使用全局变量,每个函数都可以去访问它并且修改它,会

非递归二叉树遍历-c语言中函数指针作为参数与函数的嵌套

问题描述 c语言中函数指针作为参数与函数的嵌套 函数指针作为另一函数的参数和函数的嵌套的区别,感觉都是调用,有什么不一样呢?他们都适用在什么情况下!(我是在学非递归遍历二叉树时看到的) Status Visit(TElemType e){ printf("%cn",e); return OK; } Status InOrderTraverse(BiTree T ,Status(*Visit)(TElemType e)){ SqStack S; InitStack(S); Push(S,

函数调用-c语言中函数返回值类型的问题

问题描述 c语言中函数返回值类型的问题 看一道改错题: #include #include #include proc(int k)//很显然根据主调函数和返回值类型知道这里缺少类型 { int n;float s,w,p,q; n=1; s=1.0; while(n<=k){ w=2.0*n; p=w-1.0; q=w+1.0; s=s*w*w/p/q; n++; } return s; } void main(){ system("CLS"); printf("%f

c语言中函数中变量范围的问题?

问题描述 c语言中函数中变量范围的问题? ATT 测试环境:vs2013 win7 直接上代码 # include <stdio.h> # include <stdlib.h> void switch_a () //声明switch_a函数 void menu()//声明menu函数 int main() { int a, b; //参加运算的两个数字 int c; //判断进行什么运算的变量 printf("欢迎使用四则运算器n"); printf("

c语言中函数形参为空指针,调用时可以不用带实参吗?

问题描述 c语言中函数形参为空指针,调用时可以不用带实参吗? 最近在看代码,有地方不太懂 void map_hash_init(void) { map_hash_head = hash_create ((uint32_t (*)(void ))(con_key), (int ()(void *, void *))(Con_comp)); } 这是一个hash表的初始化 hash_creat的原型: hash_create (uint32_t (*hash_key) (), int32_t (*h

C语言中函数与指针的应用总结_C 语言

1. 首先,在C语言中函数是一种function-to-pointer的方式,即对于一个函数,会将其自动转换成指针的类型. 复制代码 代码如下: #include<stdio.h> void fun(){} int main(void){   printf("%p %p %p\n", &fun, fun, *fun);   return 0;} -------------------------------------------------------------

C语言中函数的声明、定义及使用的入门教程_C 语言

对函数的"定义"和"声明"不是一回事.函数的定义是指对函数功能的确立,包括指定函数名,函数值类型.形参及其类型以及函数体等,它是一个完整的.独立的函数单位.而函数的声明的作用则是把函数的名字,函数类型以及形参的类型.个数和顺序通知编译系统,以便在调用该函数时进行对照检查(例如,函数名是否正确,实参与形参的类型和个数是否一致),它不包括函数体.--谭浩强 ,<C程序设计>(第四版),清华大学出版社,2010年6月,p182 这段论述包含了许多概念性错误,这

深入解析C语言中函数指针的定义与使用_C 语言

1.函数指针的定义    函数是由执行语句组成的指令序列或者代码,这些代码的有序集合根据其大小被分配到一定的内存空间中,这一片内存空间的起始地址就成为函数的地址,不同的函数有不同的函数地址,编译器通过函数名来索引函数的入口地址,为了方便操作类型属性相同的函数,c/c++引入了函数指针,函数指针就是指向代码入口地址的指针,是指向函数的指针变量. 因而"函数指针"本身首先应该是指针变量,只不过该指针变量指向函数.这正如用指针变量可指向整形变量.字符型.数组一样,这里是指向函数.C在编译时,

VC++语言中函数和类函数调用过程

这两天在研究在C++下实现的反射机制的可能性,得出的结论是可行的,具体参看我上一主题实现C++的反射实例.现在顺便把研究C++反射机制过程中函数的调用过程写一下.利用此特性写了一个通用的 函数转发器,可以调用任何的API函数. // 初始化映射工厂 InitializeMappingFactory(): IMOKE_METHOD(NULL,&Messagebox,NULL,"hello world.","你好", MB_OK): 在后面加任何东西都不会出错,