这个不态可能吧,不进行逻辑判断,怎么确定数值大小啊这样写吧intas(a,b=20){if(ab)cout"80"elseif(ab,ac=40)输出160}写不下了,在主函数调用as函数,如果还不行就要在类中定义函数了,还不行的话那我也没招了
创新互联公司2013年开创至今,是专业互联网技术服务公司,拥有项目成都网站设计、做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元湟中做网站,已为上家服务,为湟中各地企业和个人服务,联系电话:18982081108
是合法的数组名,只要和c语言给出的关键字不冲突,并且符合命名规范,比如不以数字开头,就是合法的数组名。
这个函数在前面加了个*号,代表返回值是指针类型,参数是字符串,返回值是字符的函数指针。调用它的时候就可以用他的指针来调用。在main函数中可以这样做:
char (*pt)(char*);
char a[] ="ashjkl";
pt = strlwr;
var = (*pt)(a);
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
#includestdio.h
#includestring.h
int fun(char *a,char *b)
{ int i,j,n1,n2,n3,n4=0;
n1=strlen(a);
n2=strlen(b);
for(i=0;in1;i++){
n3=0;
for(j=0;jn2;j++)
if(*(a+i+j)==*(b+j)) n3++;
if(n3==n2){
n4++;
i+=j-1;
}
}
return n4;
}
main()
{ char a[1000],b[100];
while(1){
gets(a);
gets(b);
printf("%d\n\n",fun(a,b));
}
}
如图所示,望采纳。。。。。。
你的意图是传递一个数组, 然后再将用一个指针数组来存入该数组每个元素的地址, 通过指针交换来交换数组元素, 然后返回这个指针数组, 如果是这样的话, 就指出以下错误, 1: while(k = 0) { b[k] = a[i]; k--}其中K初始为n你不知道数组越界了吗? 其二, 你里面的i初始化了吗? i 里面是垃圾值, 改为 k = n - 1; i = n - 1; while(k = 0) b[k--] = a[--i]; 2: 下面是冒泡排序不? 有误, for(i = 0; i n; ++i) for(j = 0; j n - i; ++j) if(*b[j] *b[j+ 1]) 也不检查一下, i = 0; j n; if(*b[j] *b[j + 1]) .... j + 1 越界了, 应该如下写for(i = 0; i n; ++i) for(j = 0; j n - i - 1; ++j)if(....) .............orfor(i = 1; i n; ++i) for(j = 0; j n - i;) or for(i = n; i 0; ++i) for(j = 0; j n - 1 ; ++j); for(i = n; i 0; ++i) for(j = 1; j n; ++j) if(*b[j - 1] *b[j]) 总之不能越界, 最后你要返回一个指针数组是不可能的, 因为它是局部变量, 生存期只在这个函数内, 返回值也不正确, 返因指针数组名应用用指向指针的指针,