• 微信号
  • 微信号
您当前的位置:首页 > 学海无涯 > 茑语花香>**in()函数的高级用法:接收用户输入的数据

**in()函数的高级用法:接收用户输入的数据

孤峰 孤峰家 2023-06-15 86人阅读

**in() 是C语言程序的入口函数?有且只能有一个?它实际上有两种标准的原型?

int **in(); 

int **in(int argc, char *argv[]);

平时我们一直使用第一种原型?它简单易懂?能让初学者很快入手。第二种原型在实际开发中也经常使用?它能够让我们在程序启动时给程序传递数据

在第二个原型中?argc 表示传递的字符串的数目?argv 是一个指针数组?每个指针指向一个字符串?一份数据?。我们来看一个具体的例子?

#include <stdio.h> 

int **in(int argc, char *argv[])

{

int i;

printf("The program receives %d parameters:\n", argc);

for(i=0; i<argc; i++)

{

printf("%s\n", argv);

}

return 0;

}

将生成后的程序放在D:\**目录下"命名为**in.exe"打开 cmd"命令提示符程序""输入D:\**\**in.exe C语言中文网 c.biancheng.net C-Lang"程序的运行结果如下"

从运行结果可以看出"包括程序名以及它后面的字符串都会被程序所接收

去掉后面的数据"只输入程序名"

再次证明了程序名也会被传递给程序本身。

**in() 函数的第二种原型有非常实际的应用"在 Linux 中"每个 Shell 命令都需要一个程序来解释"如果这个程序是由C语言编写的"那么 **in() 函数就可以接收这个命令以及它后面附带的参数。

【实用程序】判断用户输入的是否是素数。

#include <stdio.h> 

#include <**th.h>

#include <stdlib.h>

int isPrime(int n);

int **in(int argc, char *argv[])

{

int i, n, result;

if(argc <= 1)

{

printf("Error: no input integer!\n");

exit(EXIT_SUCCESS);

}

for(i=1; i<argc; i++)

{

n = atoi(argv);

result = isPrime(n);

if(result < 0)

{

printf("%3d is error.\n", n);

}

else if(result)

{

printf("%3d is prime number.\n", n);

}

else

{

printf("%3d is not prime number.\n", n);

}

}

return 0;

}

//判断是否是素数

int isPrime(int n)

{

int i, j;

if(n <= 1)

{ //参数错误

return -1;

}

else if(n == 2)

{ //2是特例=单独处理

return 1;

}

else if(n % 2 == 0)

{ //偶数不是素数

return 0;

}

else

{ //判断一个奇数是否是素数

j = (int)sqrt(n);

for(i=3; i<=j; i+=2)

{

if (n % i == 0)

{

return 0;

}

}

return 1;

}

}

在 cmd 中的运行效果截图

转载:感谢您阅览,转载请注明文章出处“来源从小爱孤峰知识网:一个分享知识和生活随笔记录的知识小站”。

链接:**in()函数的高级用法:接收用户输入的数据http://www.gufeng7.com/niaolang/369.html

联系:如果侵犯了你的权益请来信告知我们删除。邮箱:119882116@qq.com

标签: