挑战:序列求和

  • 数组元素不能整体赋初值,如下面的写法是错误的:

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







最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 8,827评论 3 44
  • 1.语言中变量的实质 要理解C指针,我认为一定要理解C中“变量”的存储实质, 所以我就从“变量”这个东西开始讲起吧...
    金巴多阅读 5,869评论 0 9
  • 1.面向对象的程序设计思想是什么? 答:把数据结构和对数据结构进行操作的方法封装形成一个个的对象。 2.什么是类?...
    少帅yangjie阅读 10,447评论 0 14
  • 题目类型 a.C++与C差异(1-18) 1.C和C++中struct有什么区别? C没有Protection行为...
    阿面a阅读 12,310评论 0 10
  • 一、框架 1、Mac系统及常用工具、进制;C数据类型、常量变量、运算符、表达式、格式化输入输出 2、关系运算符、逻...
    师景福阅读 4,093评论 0 2

友情链接更多精彩内容