main参数

参考 http://www.cnblogs.com/rocedu/p/6766748.html#SECCLA 在Linux下完成“求命令行传入整数参数的和”
注意C中main: int main(int argc, char *argv[]), 字符串“12” 转为12,可以调用atoi()
求和函数 int sum(int N)放入sum.c中, main中调用sum(),main放入main.c中
测试代码传入自己的8位学号
上方提交代码
附件提交运行测试截图

 main.c代码:

#include<stdio.h>
#include<stdlib.h>               
int sum(int N,int arr[]);        
int main(int argc,char *argv[])  
{
int result;                     
int ch[argc];                
printf("%d\n",argc-1);
for (int i=0;i<argc;i++)
{
ch[i]=atoi(argv[i]);         
result=sum(argc,ch);             
}
printf("the result is %d\n",result);
return 0;
}

 sum.c代码

 编译运行结果:

 问题与思考:

中间想了一个问题,main.c函数里的for循环中,i能不能从1开始,然后范围变成i<=argc,输出的字符长度变由argc-1变为argc。将sum和main做了一点改动:

 

 结果出现了以下的错误:

 解答:数组必须要从第0个开始,不能只能直接定义i=1。

posted @ 2021-11-15 11:35  张灯结彩,潇潇暮雨  阅读(82)  评论(0编辑  收藏  举报