重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
你的input执行之后,就判断退出了的。
成都创新互联公司,为您提供重庆网站建设、网站制作公司、网站营销推广、网站开发设计,对服务履带搅拌车等多个行业拥有丰富的网站建设及推广经验。成都创新互联公司网站建设公司成立于2013年,提供专业网站制作报价服务,我们深知市场的竞争激烈,认真对待每位客户,为客户提供赏心悦目的作品。 与客户共同发展进步,是我们永远的责任!
因为你的input函数的参数是TS, 是结构体,而不是结构体指针,因此,在input里面得到的结果,只是input里面局部变量的M这个结构体得到了值,并没有赋值给M1和M2,导致你那里判断M1.n M2.m的时候,直接return 0了
不谢^-^
函数定义不可以嵌套的意思是:不可以在一个函数内定义另一个函数 例如 void fun() { void fun1(){ } } 函数调用可以嵌套 ,函数调用只有 函数名和参数 fun()这叫调用 例如 void fun() { fun1(); } 这样是可以的
我给你从编译器角度考虑下吧!1、首先局部变量的使用范围只有在这个局部范围类有效。2、函数是模块化的思想。比如你有一个判断一个数是否是素数的函数。那么你再求100以内所有素数和的时候,main中会调用这个函数100次。这些函数编译器在处理的时候都是放在一个堆栈的。而且每个函数都占有不同的地址和空间。(递归函数尤为明显)。最关键的是,当函数返回函数值后,函数的使命就结束了。所以这个函数体在呢内存中就销毁了。你即使能从函数中返回一个局部变量。你再去读这个地址的时候。东西都不在了。3、还有一点。编译器在分配函数的空间的时候,地址不是固定的。所以你每次运行程序,你会发现
int
a=3
printf(f"%d",a),不都是一样的。所以你的问题很明了了。
可以在函数中声明函数(嵌套声明),但是不能在函数中定义函数(嵌套定义)。
p.s.:有些编译器允许嵌套定义,但是最好不要嵌套定义,因为C标准规定不能嵌套定义。
在函数中(包括主函数)不能定义和函数名相同的变量,一般情况下函数名的定义需要有实际意义,让编程者能一看便知函数的功能(变量也是这样),如果是需要多个单词才能表达意思就使用下划线连接两个或多个单词,或者直接写在一起每个单词首字母大写,这样定义主要是为了让程序看起来更加简洁明了,让其他人能迅速了解程序功能,便于修改