c语言中定义函数类型的作用,C 语言用户定义函数的类型

C 语言用户定义函数的类型

在本教程中,您将学习使用函数来解决同一问题的不同方法。

下面的这4个程序检查用户输入的整数是否是质数。

下面所有这些程序的输出是相同的,并且在每个示例中我们都创建了一个用户定义的函数。但是,我们在每个示例中采用的方法都是不同的。

示例1:没有传递参数,也没有返回值#include 

void checkPrimeNumber();

int main()

{

checkPrimeNumber();    //没有传递参数

return 0;

}

//返回类型为void,表示不返回任何值

void checkPrimeNumber()

{

int n, i, flag = 0;

printf("输入一个正整数: ");

scanf("%d",&n);

for(i=2; i <= n/2; ++i)

{

if(n%i == 0)

{

flag = 1;

}

}

if (flag == 1)

printf("%d 不是质数。", n);

else

printf("%d 是个质数。", n);

}

checkPrimeNumber()函数接收用户的输入,检查它是否是质数,并将其显示在屏幕上。

main()函数内部checkPrimeNumber();的括号中的空括号表示没有参数传递给函数。

函数的返回类型为void。因此,该函数不返回任何值。

示例2:不传递任何参数,但返回值#include 

int getInteger();

int main()

{

int n, i, flag = 0;

//没有传递任何参数

n = getInteger();

for(i=2; i<=n/2; ++i)

{

if(n%i==0){

flag = 1;

break;

}

}

if (flag == 1)

printf("%d 不是质数。", n);

else

printf("%d 是质数。", n);

return 0;

}

//返回用户输入的整数

int getInteger()

{

int n;

printf("输入一个正整数: ");

scanf("%d",&n);

return n;

}

n = getInteger();语句中的空括号表示没有参数传递给该函数。并且,将从函数返回的值分配给n。

在此,getInteger()函数从用户处获取输入并返回。main()函数内部包含用于检查数字是否为质数的代码。

示例3:参数已传递但没有返回值#include 

void checkPrimeAndDisplay(int n);

int main()

{

int n;

printf("输入一个正整数: ");

scanf("%d",&n);

// n被传递给函数

checkPrimeAndDisplay(n);

return 0;

}

//返回类型为void,表示不返回任何值

void checkPrimeAndDisplay(int n)

{

int i, flag = 0;

for(i=2; i <= n/2; ++i)

{

if(n%i == 0){

flag = 1;

break;

}

}

if (flag == 1)

printf("%d 不是质数。", n);

else

printf("%d 是个质数。", n);

}

用户输入的整数值将传递给checkPrimeAndDisplay()函数。

在此,checkPrimeAndDisplay()函数检查传递的参数是否为质数,并显示适当的消息。

示例4:传递参数和返回值#include 

int checkPrimeNumber(int n);

int main()

{

int n, flag;

printf("输入一个正整数: ");

scanf("%d",&n);

//n传递给checkPrimeNumber()函数

//返回的值分配给flag变量

flag = checkPrimeNumber(n);

if (flag == 1)

printf("%d 不是质数。", n);

else

printf("%d 是个质数。", n);

return 0;

}

//从函数返回int

int checkPrimeNumber(int n)

{

int i;

for(i=2; i <= n/2; ++i)

{

if(n%i == 0)

return 1;

}

return 0;

}

来自用户的输入将传递给checkPrimeNumber()函数。

checkPrimeNumber()函数检查传递的参数是否为质数。

如果传递的参数是质数,则函数返回0。如果传递的参数是非质数,则函数返回1。将返回值分配给flag变量。

根据flag是0或1,main()函数会打印一条适当的消息。

哪种方法更好?

好吧,这取决于您要解决的问题。在这种情况下,传递参数并从函数返回值更好(示例4)。

函数应执行特定任务。checkPrimeNumber()函数不接受用户输入,也不显示适当的消息。它仅检查数字是否为质数。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值