【答疑释惑】C语言常犯语法错误

1 字符常量与字符串常量混淆。 char c; c="a";

在这里就混淆了字符常量与字符串常量,字符常量是由一对单引号括起来的单个字符,字符串常量是一对双引号括起来的字符序列。

2 忽略了“=”与“==”的区别

在许多高级语言中,用“=”符号作为关系运算符“等于”。如在BASIC程序中可以写: if (a=3) then …

但C语言中,“=”是赋值运算符,“==”是关系运算符。如: if (a==3) a=b;

前者是进行比较,a是否和3相等,后者表示如果a和3相等,把b值赋给a。

3 输入变量时忘记加地址运算符“&” int a,b; scanf("%d%d",a,b);

这是不合法的。Scanf函数的作用是:按照a、b在内存的地址将a、b的值存进去。“&a”指a在内存中的地址。

参考:http://blog.csdn.net/abc5382334/article/details/18666263

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2015-08-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏python学习路

四、类与对象(二)

保护对象的属性 如果有一个对象,当需要对其进行修改属性时,有2种方法 对象名.属性名 = 数据 ---->直接修改 对象名.方法名() ---->间接修改 为了...

2987
来自专栏Zephery

重载与重写

目前的问题:父类的功能无法满足子类的需求。 方法重写的前提: 必须要存在继承的关系。 方法的重写: 子父类出了同名的函数,这个我们就称作为方法的重写。 什么是时...

34613
来自专栏杂七杂八

列表、字典、集合中筛选数据

传统迭代法 data = [1,5,-3,-2,8,0,9] res = [] for x in data: if x >=0: res...

3416
来自专栏前端架构

坑爹的JS笔试题

console.log(new A().a);  //new A()为构造函数创建的对象,本身没有a属性,所以向它的原型去找,发现原型的a属性的属性值为1,故该...

741
来自专栏C/C++基础

Google C++编程风格指南(三)之作用域的相关规范

C++在C的基础上引入了名字空间机制,使C中作用域的级别从原有的文件域(全局作用域)和局部域(函数作用域和代码块作用域)中间增加了名字空间域和类域。

713
来自专栏Java Edge

虚拟机的类加载机制1 类加载的时机

24710
来自专栏杂七杂八

爬虫简单应用之爬取京东手机图片

import re import urllib.request #只能爬取非延时加载的图片,匹配方式为正则匹配 def craw(url,page): ...

2968
来自专栏前端儿

ES6笔记(4)-- Symbol类型

类似字符串String的声明方式 var str = 'str'; Symbol的声明方式类似,它调用构造函数Symbol()

892
来自专栏前端学习心得

JavaScript预解释是一种毫无节操的机制

1137
来自专栏微信公众号:Java团长

Java虚拟机类加载机制

看到这个题目,很多人会觉得我写我的java代码,至于类,JVM爱怎么加载就怎么加载,博主有很长一段时间也是这么认为的。随着编程经验的日积月累,越来越感觉到了解虚...

772

扫描关注云+社区