我在《C/C++程序员实用大全》一书中找到:
“但是,随着程序的复杂化,用户已不太可能总是以正确的位置放置函数。因此,C允许在
程序中置入“函数原形”,用来描述函数的返回值和参数类型“。
是不是可以放在这解释上面的问题。
差点把你忘了...
我在《C/C++程序员实用大全》一书中找到:
“但是,随着程序的复杂化,用户已不太可能总是以正确的位置放置函数。因此,C允许在
程序中置入“函数原形”,用来描述函数的返回值和参数类型“。
是不是可以放在这解释上面的问题。
我终于找到了,《C++程序开发与设计》中说: “然而,决不能将findmax()的定义放在main()的内部。对所有的C++函数来说都是如此。 没个函数都必须在任何别的函数外面定义。每个C++函数都是单独和独立的实体,带有 各自的参数和变量;决不允许函数的嵌套。
原来所说的函数的嵌套,不是说不许在一个函数中声明一个函数,而是说不许在一个函数中 定义一个函数。明白了!!!!
哈哈哈哈哈哈。。。。。。。。。。。
[此贴子已经被作者于2004-08-20 14:29:23编辑过]
我觉得还是有错
函数的调用是值的单向传递,如果要通过sor函数来排序的话就要用指针
而且函数int sort(int b[]) {int i,j,t; for(i=1;i<10;i++) if(b[i]>b[i+1]) {t=b[i];b[i]=b[i+1];b[i+1]=t;} }的作用并不能起到按从小到大的顺序来排列数组元素
比如前3个元素分别是20 18 17 的话,按照这个函数排出来就是18 17 20的顺序
还是用冒泡算法吧
总算成功了,谢谢各位,代码如下:
#include "stdio.h"
main() { int sort(int b[],int n); int a[10],i; printf("Please input 10 number"); for(i=0;i<10;i++) scanf("%d",&a[i]); printf("\n"); sort(a,10); printf("the sorted number:\n"); for(i=0;i<10;i++) {printf("%d",a[i]); printf("\n");} } sort(int b[],int n) {int i,j,t; for(j=1;j<n;j++) for(i=0;i<n-j;i++) if(b[i]>b[i+1]) {t=b[i];b[i]=b[i+1];b[i+1]=t;} }
[此贴子已经被作者于2004-08-20 17:03:28编辑过]
总算成功了,谢谢各位,代码如下:
#include "stdio.h"
main() { int sort(int b[],int n); int a[10],i; printf("Please input 10 number"); for(i=0;i<10;i++) scanf("%d",&a[i]); printf("\n"); sort(a,10); printf("the sorted number:\n"); for(i=0;i<10;i++) {printf("%d",a[i]); printf("\n");} } sort(int b[],int n) {int i,j,t; for(j=1;j<n;j++) for(i=0;i<n-j;i++) if(b[i]>b[i+1]) {t=b[i];b[i]=b[i+1];b[i+1]=t;} }
好像不能在函数内部声明和定义函数吧?
這個題前兩天才我做過,
不過也是把函數聲明放在外面,~~~~~