C语言编程入门——函数(下)


void的含义:

# include <stdio.h>

int f(void) //void表示不接收任何数据,int表示返回int类型值,即下面的 return 10;
{
	return 10; //向主调函数返回10,即向main函数中调用的语句返回10这个值。
}

void g(void) //函数名前的void表示该函数没有返回值。
{
	//return 10; //错误,与上面的void相矛盾,不能有返回值。
}

int main(void)
{
	int i = 88;
	int j = 5201314;

	i = f(); //因为f函数不接收任何数据,所以括号内为空,调用函数后,f函数返回10,i的值变为10。
	//j = g(); //因为g函数没有返回值,所以不能赋值给j。注意:没有返回值不是返回0,而是返回为空!

	printf("%d\n", i);
	printf("%d\n", j);
	return 0;
}


break与return的区别:

# include <stdio.h>

void f(void)
{
	int i;
	
	for(i=0; i<5; i++)
	{
		printf("呵呵!\n");
		break;	//break用于终止for循环。
		
	}

	return;	//return用于终止整个函数。
	
	printf("哈哈!\n");
}

int main(void)
{
	f();
	
	return 0;
}


函数练习——多次求素数:

# include <stdio.h>

//本函数功能是判断一个数是否为素数,如果是,则返回true,如果不是,则返回false。
bool IsPrime(int m)
{
	int i;
	
	for (i=2; i<m; ++i)
	{
		if (0 == m%i)
			break;
	}

	if (i == m)
		return true;
	else
		return false;
}

//本函数功能是输入1到n所有的素数。
void TraverseVal(int n)
{
	int i;
	for (i=2; i<=n; ++i)
		if ( IsPrime(i) )
			printf("%d\n", i);
}

int main(void)
{
	int i;
	int val;
	int j;
	printf("请输入需要求的次数:");
	scanf("%d", &i);

	for (j=1; j<=i; ++j)
	{
		printf("请输入第 %d 次上限:", j);
		scanf("%d", &val);
		TraverseVal(val);
	}
	return 0;
}

全局变量与局部变量:

# include <stdio.h>

int k = 1000;	//k即为全局变量,即可供所有函数使用。

void f(int i)
{	
	int j;	//形参i和定义变量j都为局部变量,即仅供函数内部使用。
	printf("k = %d\n", k);
}

int main(void)
{
	int m = 10;

	f(m);

	return 0;
}


全局变量与局部变量的命名冲突问题:

# include <stdio.h>

int i = 99;

void f(int i)
{
	printf("i = %d\n", i);
}

int main(void)
{
	f(8);

	return 0;
}
/*
	输出结果为:i = 8 即当全局变量名与局部变量名相同时,会默认采用局部变
	量,即局部变量(Private)优先级>全局变量(Public)。
*/



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值