-
数组元素不能整体赋初值,如下面的写法是错误的:
int num[5]=0;
-
for语句
for(表达式1,表达式2,表达式3) 语句(循环体)
程序进入for语句后,受限进入表达式1,设置初始循环值,然后进入表达式而,判断循环是否达到终值。然后进入循环体,执行完循环体后,无条件进入表达式3改变循环变量,在进入表达式2判断是否达到终值。
for(i=1;i<argc;i++)
{
num[i]=atoi(argv[i]);
sum+=num[i];
}
- main函数
int main(int argc, char *argv[])
main是主函数,主函数也是一个函数,一般的常见的main函数不会被调用。但是main函数可以被命令行调用,此时就可以使用int main(int argc, char *argv[])
的写法。
int argc
为命令行调用时的参数个数 ;
char *argv[]
是一个字符数组,其大小是int argc
,主要用于命令行参数 argv[] 参数,数组里每个元素代表一个参数;
可以用atoi()函数来将字符数据转换为int型的值。
//实例一,摄氏温度转华氏温度
#include <stdio.h>
#include <stdlib.h>
int main(int arg ,char *argv[])
{
//用于存储输入的摄氏度
int input=0;
//判断是否输入的是1个参数
if (argc !=2){
return 1;
}
//注意argv[0]是执行程序,argv[1]是第一个参数;
input=atoi(argv[1]);
printf("%f",32.0+1.8*input);
return 0;
}
//实例2 序列求和
#include <stdio.h>
#include <stdlib.h>
int main(int arg ,char *argv[])
{
int i,sum=0;
int num[argc];
//判断是否输入的是1个参数
if(argc>1)
{
for(i=1;i<argc;i++) //注意argv[0]是执行程序,argv[1]是第一个参数;
{
num[i]=atoi(argv[i]);
sum+=num[i];
}
}
printf("%d\n",sum);
return 0;
}```
网友评论