2010-01-08

main()

{int a,b,sum;

scanf("%d %d",&a,&b);

sum=a+b;

printf("sum is %d\n",sum);

system("puase");

}

我改成

#include int main()

{int a,b,sum;

scanf("%d %d %d",&a,&b,&c);

sum=a+b+c;

printf("sum is %d\n",sum);

system("puase");

}

就会提示'c'undeclared[first.......]这里是加一个C后出的问题

我先编的一个是三个数相加的也这样的但是可以算的,可以我用2个数相加的改成多数相加的,老是提不SCANF 出错

错误出在 int main() 如果是int main(){}意思是 给操作系统返回值 void main(){} 意思是 不给操作系统返回值“void main与int main之间的区别是什么?”这是一个常见的问题。 我们来探讨一下这个问题,并深入研究一些有关main()函数不同版本的更多的东西。C与C++在main()函数方面的标准有所不同,所以我们要分开讨论。对于C语言:在C89标准中,main() 的形式是可以接受的,当然使用如下的C99标准更明智,因为在这个标准中只有如下格式才能被接受:int main ( void )int main ( int a...全部

错误出在 int main() 如果是int main(){}意思是 给操作系统返回值 void main(){} 意思是 不给操作系统返回值“void main与int main之间的区别是什么?”这是一个常见的问题。

我们来探讨一下这个问题,并深入研究一些有关main()函数不同版本的更多的东西。C与C++在main()函数方面的标准有所不同,所以我们要分开讨论。对于C语言:在C89标准中,main() 的形式是可以接受的,当然使用如下的C99标准更明智,因为在这个标准中只有如下格式才能被接受:int main ( void )int main ( int argc, char *argv[] )我们可以对main函数做轻微的改变,比如我们可以用一个自定义的类型代替int(当然这个类型必须被定义为int型),还可以把*argv[]改为**argv,等等。

如果我们不想在命令行下对程序输入参数,可以选择第一种形式。其实第二种形式的两个参数argc,argv的名称是可以改变的,但保持原样是更明智的选择。main()函数的返回类型必须为int;返回的整形值作为传递给调用者的一个返回码。

(this allows a return code to be passed to the invoker)对于C++:以下是可以接受的格式:int main ( int argc, char *argv[] )int main ()第一种格式遵从C99标准;第二种格式在不需要通过命令行向程序传递参数时使用,与C99标准中规定的格式int main(void)效果相同。

(C)int main()与int main(void)之间的区别:很多C程序员都曾搞错的一个概念,就是以为这样一个函数不接受任何参数:int foo();事实上,这个函数被认为可以接受未知个数的参数(译:可接受任意多的参数!)。

正确的用法是在括号内添加关键字void。void main()函数是如何处理的?在C/C++正规的调用/返回函数中,如果你不想让一个函数返回任何值,你可以使用void定义返回类型。比如,一个不接受任何参数并且无任何返回值的函数原型可以像这样:void foo(void);一个常见的误解是,这种逻辑同样适用于main()函数。

呵呵,事实并非如此,main()函数是很特殊的,无论何时你都应该依照标准定义main()函数(译:即使用int main()的形式!),并把返回值定义为int。有时void main()的例外形式是可以出现的,但这仅限于某些特定的系统。

如果你不敢肯定正在使用这些系统,那么答案很简单,不能使用void main()的形式。如果你在论坛上写了像“void main”这样的代码而被警告,那么最好改过来。不要用"我的老师告诉我这么做是对的"之类的话来为自己开脱;老师们总是习惯犯错误(teachers have a bad habit of being wrong)。

写安全的,合乎标准的代码,大家就可以专注于你程序中其它的问题而不是在这种规范方面的东西上浪费时间。但是int main(int argc, char *argv[], char *envp[])又是怎么回事呢?好比是标准的扩展版,main()函数可以在一些系统中提取一个额外的参数用来访问环境变量。

这个用法不能保证在每个编译环境中都行得通,所以使用 envp 这个参数是还是谨慎为妙。最后,关于为什么void main(void)是一种错误的用法,这个链接提供了一些更细节化的背景资料: 后记:这篇从 上摘下的FAQ几乎没有任何高深的理论,但是它向我们传达了一种精神:要编写规范的程序。

经常在国内很多论坛上看到一些不加任何注释(有时甚至连缩进也没有)的代码,这种代码在实际中是会被当作垃圾代码处理的。如这篇文章所述,不规范的代码有时甚至会导致系统出错。如果纯心要编写混乱代码,不如参加国际混乱代码大赛,:> 但平时写东西还是规范点好。

内容参考: 。收起

c语言 d1 1,C语言c-1>=d)==1 n – 手机爱问相关推荐

  1. 5求的值c语言编辑,C语言中怎样求1+3+5~~~~~+9值并 – 手机爱问

    2018-04-06 C 语言中的原码怎么? 数计算机二进制形式表示数分有符号数和无符号数原码.反码.补码都有符号定点数表示方法有符号定点数高位符号位0正1副下都8位整数例原码数本身二进制形式例100 ...

  2. 成绩在C语言中怎么表示,c语言指数函数-分数在C语言中怎么表示分数和指数形式在C语 – 手机爱问...

    2019-02-12 c语言把int转换为char格式 内容为数字的char,包含0,1,2,3,4,5,6,7,8,9共计10个字符.这十个字符在存为字符型时,其存储值为对应的ascii码,而这些a ...

  3. 十进制转二进制转换c语言程序,c语言编程如何实现-十进制数转换成二进制和 – 手机爱问...

    2006-10-10 (1).将十进制正整数转换成k进制(2<=k<=9)的数字输出.例如,若输入8和2,则应输出1000(即十进制数8转换成二进制表示1000). (2).请编写函数vo ...

  4. c语言mon什么意思,c'mon是什么意思啊 – 手机爱问

    2008-01-23 的播出时间 那个Mon 9/8c 是什么意思? when it says 9/8c, it means 9pm - eastern 8pm - central 8pm - mou ...

  5. c语言错误c280,东芝彩色复印机2051c错误c280什么意 – 手机爱问

    2013-11-18 东芝数码2051C打印机出现请求 检修过程: 1.根据清除定影器故障代码后,又能使用数天的状况来看,肯定不是热熔断器( 恒温器).定影灯的问题,如果是这两者不正常,根本连预热也完 ...

  6. 为0用c语言怎么写,应输出“1990”,该怎么写用C语言编程写 – 手机爱问

    2004-11-14 C语言程序题 对楼上的略作修改: #include #include void stat(char *str) { int n1,n2,n3,n4; n1 = n2 = n3 = ...

  7. c语言 号咋打,C语言C语言中的开头#号如何打? – 手机爱问

    2004-12-20 C语言中如何实现输入密码?(在输入时显示为*号.) 参考: 以下程序功能: 接受所有打印字符. 不接受控制字符,如Ctrl+ ,Alt,F1等. 可使用退格键删除以输入字符. 回 ...

  8. C语言中前面有四个空格,在C语言编程中什么叫前导空格,什么叫尾随空 – 手机爱问...

    在c语言中,何为条件运算符!具体 计算机具有逻辑判断能力,其判断的依据是计算机内部进行逻辑运算的结果.C语言提供了关系运算和逻辑运算,用来构造C程序控制中的条件,实现程序的选择结构和循环结构控制. 关 ...

  9. c语言中整形数据分为几进制,c语言中整型数据中的8进制以及16进制数据 – 手机爱问...

    2018-01-24 ▉当a=3,b=2,c=1时,表达式f=a>b>c的值是[ ].▉在C语言中,表示逻辑"真"值用[ ].▉C语言提供的三种逻辑运算符是[1].[2 ...

最新文章

  1. 回顾 2018,展望 2019
  2. 有感于框架设计难,实施框架更难!
  3. vivox50pro鸿蒙系统,vivo X50 Pro最适合用来拍风景,看看网友的作品就知道了
  4. Office 2010默认输入法设置方法
  5. 计算机/ARM 系统
  6. 修改BeEF工具默认密码
  7. Ubuntu 14.04 DNS 配置
  8. linux 内核rt,实时操作系统kernel rt
  9. 优先级调度算法实现_一篇讲透嵌入式操作系统任务调度
  10. 13个圆可以画什么?数学与艺术完美邂逅!原来数学也可以这么美
  11. [Hands On ML] 3. 分类(MNIST手写数字预测)
  12. Linux下清除DNS缓存
  13. 机器学习前沿热点--Deep Learning
  14. CodeForces - 786B Legacy (线段树+DIjkstra+思维)
  15. Fastreport.Net用户手册(九):配置Bands
  16. linux patch 命令小结
  17. 在YUI3下打印Panel内容
  18. 常见的生物识别技术有哪些
  19. Icpc 沈阳 Bitwise Exclusive-OR Sequence
  20. FBEC2020大会圆满闭幕!区块链分会场人气爆棚!

热门文章

  1. net core WebApi——尝试企业微信来开发企业内部应用
  2. 简述微服务框架中间件
  3. 导出CSV文件打开乱码
  4. Linux内核中使用内存检测
  5. 人工智能Java SDK:安全帽检测
  6. 便携设备转可移动磁盘_选择合适的便携式移动电话/平板电脑/小工具电池充电器
  7. async/await用法详解
  8. musescore 构建入门
  9. MYSQL语句汇总 转载
  10. 关于梦幻西游was\tcp素材文件的分析