c语言用函数简单例题 c语言用函数简单例题怎么做

C语言,调用函数最简单例子

1,调用非自身函数

成都创新互联公司一直在为企业提供服务,多年的磨炼,使我们在创意设计,成都营销网站建设到技术研发拥有了开发经验。我们擅长倾听企业需求,挖掘用户对产品需求服务价值,为企业制作有用的创意设计体验。核心团队拥有超过十年以上行业经验,涵盖创意,策化,开发等专业领域,公司涉及领域有基础互联网服务成都电信服务器托管成都app开发、手机移动建站、网页设计、网络整合营销。

void main(){

int n=0;

n=fun(n);

printf("%d",n);

}

int fun(int n){

if(n==0){

return 1;

}else{

return 0;

}

}

2,递归,函数调用自身

int fun(int n){

if(n==1){

return 1;

}else{

return n+fun(n-1);

}

}

C语言的简单函数题?

#includestdio.h

// 剩余不足问题

int SurplusShortage(int *p, int *q, int a, int b, int c, int d);

int main()

{

int a, b, c, d, p = 0, q = 0;

scanf("%d %d %d %d", a, b, c, d);

if (SurplusShortage(p, q, a, b, c, d))

{

printf("%d人 分 %d颗 糖\n", p, q);

printf("%d - (%d * %d) = %d\n", q, p, a, b);

printf("%d - (%d * %d) = -%d\n\n\n\n", q, p, c, d);

}

else

{

printf("None\n");

}

return 0;

}

int SurplusShortage(int *p, int *q, int a, int b, int c, int d)

{

int x = 0;

do

{

x++;

} while((a*x+b) != (c*x-d) x = 9999);

// p = 5

// q = 22

// 4 2

// 5 3

*p=x;

*q=a*x+b;

if(*p != 0 *p = 9999)

{

return 1;

}

else

{

return 0;

}

}

C语言函数编程题

修改后的C语言程序:

#include stdio.h 

void triangle(int g)

{

int n=1, m; /* 修改处1 */

for(n;n=g; n++)

{

for(m=1;m=2*n-1;m++) /* 修改处2 */

putchar('*');

putchar('\n');

}

}

void rectangle(int g)

{

int n=1, m; /* 修改处3 */

for(n;n=g;n++)

{

for(m=1;m=3;m++) /* 修改处4 */

putchar('*');

putchar('\n');

}

}

int main()

{

int i,k;

printf("请输入行数(大于3):");

scanf("%d",i);

printf("请选择图形:1---三角形  \t2---矩形\t3---小旗 :");

scanf("%d",k);

if(k==1)

triangle(i);

}

if(k==2)

rectangle(i);

}

if(k==3)

triangle(i);

rectangle(i);

}

return 0;

}

c语言 简单题 关于函数问题 200分 先谢谢各位高手

第三次答复:

void

createLine(struct

Node

*rear,int

item)

void

createLine(struct

Node

**rear,int

item)

实际上本质是一样的,你理解引用就可以了,不过这个改法挺巧妙,只要改一个字符,比我的好。

类似于函数int

add(int

a)

int

b;

add(b);

你在add函数里面是可以改函数外变量b的值一样。

你的函数加了,这样就可以在createline函数里改函数外变量node的值了。

*******************************************

第二次答复:

我是一楼

输出是:

1.--0

2.--0

3.--3d2470

tem_addr=3d24d8,tem_value=2

rear_add=3d24d8,rear_value=2

after

createLine:

1.--2

2.--2

3.--3d24d8

完全符合楼主的要求。

刚才有事走了,没解释一下,现在解释一下。

void

createLine(struct

Node

*rear,int

item)

这样子声明函数,你在函数里面只能改rear指针对应的对象值,而rear本身的值就是传入的node的值你是改不了的,

所以函数里面的

rear=tem;

你知识改变了函数局部变量rear值,但改不了传入的node的值。

所以得用指针的指针就可以改传入的node的值了。

传入的是node的地址,所以就可以根据node的地址改node的值了,当然也可以根据node的值改node对应的对象的值

(*rear)-next=tem;

就如我改的程序一样。

好像ywsbbdf

-

举人

四级

法也是一种改法,用的是引用,实际上跟指针的指针差不多,不过安全一点。不过引用一直理解起来比较难,不如指针的指针理解方便。

******************************************

第一次答复:

得用指针的指针

还有上面一处代码tem-data=NULL;应该是tem-next=NULL;

修改代码如下

#include

"stdio.h"

#include

"stdlib.h"

struct

Node{

int

data;

struct

Node

*next;

};

struct

Node

*createNode()

{struct

Node

*tem;

if((tem=(struct

Node*)malloc(sizeof(struct

Node)))==NULL)

{printf("error");

exit(1);

}

else{

tem-next=NULL;

}

return

tem;

}

void

createLine(struct

Node

**rear,int

item)

//指针的指针

{struct

Node

*tem;

if((tem=(struct

Node*)malloc(sizeof(struct

Node)))==NULL)

{printf("error");

exit(1);

}

tem-data=item;

printf("tem_addr=%x,tem_value=%d\n",tem,tem-data);

(*rear)-next=tem;

//这样才能赋值

(*rear)=tem;

printf("rear_add=%x,rear_value=%d\n",*rear,(*rear)-data);

}

main()

{struct

Node

*Node;

Node=createNode();

printf("1.--%d\n2.--%x\n3.--%x\n",Node-data,Node-data,Node);

createLine(Node,2);

//Node指针的地址

printf("after

createLine:\n\n1.--%d\n2.--%x\n3.--%x\n",Node-data,Node-data,Node);

system("pause");

}


当前名称:c语言用函数简单例题 c语言用函数简单例题怎么做
文章链接:http://ybzwz.com/article/docipph.html