美文网首页
挑战:序列求和

挑战:序列求和

作者: 去留无意hmy | 来源:发表于2017-07-11 20:54 被阅读29次
    • 数组元素不能整体赋初值,如下面的写法是错误的:

      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;
    }```
    
    
    
    
    
    
    
    

    相关文章

      网友评论

          本文标题:挑战:序列求和

          本文链接:https://www.haomeiwen.com/subject/bezmhxtx.html