关于基础C语言等号表达式

问题描述

关于基础C语言等号表达式

解决方案

a=10是赋值,
if(a=90)意义不对,应该是if(a==90)比较两个值是否相等,如果一个等号变成了赋值语句,a等于90,然后,打印yes了

解决方案二:

a=90这个表达式的结果是90
因此永远返回false(非0就是false)

C++为了方便,赋值表达式也有值,比如
int b = a = 90;
此时 a b 都是90,因为b = (a = 90)

解决方案三:

a=90;是一个赋值语句,而a==90;是一个逻辑表达式,逻辑表达式只有true和false两个值.

解决方案四:

注意相等与赋值的区别,程序中的相等和数学中的相等写法不同。
有时候,为了防止这种错误,可以反着写,把 if(a==90) 写为 if(90 == a),这样出错的机会小一些。因为 90 是一个数,不是变量,它是不能被赋值的。

解决方案五:

if(a=90)
这个语句执行完的结果a会等于90
如果你是想要达到这个效果那么无可厚非,
如果你不是想要这个效果,
那可以写成。if(90==a)
前面有人已经说过这样的问题。这样你如果你误写成if(90=a)那么系统会报错。这样好过你在,编译成功后。发现结果是错的。把所有程序倒一遍。要简单的多。如果在大的程序中。一个小小运算错误?可能根本就发现不了。

解决方案六:

“=”赋值 if(X == Y)判定是否相同
基本上所有的编程语句都是这样的

时间: 2024-10-02 19:39:54

关于基础C语言等号表达式的相关文章

win8系统编码基础c语言

问题描述 win8系统编码基础c语言 win8系统下载安装c-free后,编写代码总是报错. 解决方案 可能是那里没有配置好吧,推荐用vs2010啊,express版本也是免费的 解决方案二: 可能是那里没有配置好吧,推荐用vs2010啊,express版本也是免费的 解决方案三: 可能是那里没有配置好吧,推荐用vs2010啊,express版本也是免费的 解决方案四: 可能是那里没有配置好吧,推荐用vs2010啊,express版本也是免费的

JavaScript基础语法之js表达式_javascript技巧

本文将详细介绍javascript表达式,表达式分为原始表达式和复杂表达式.一般,关于javascript基础语法,人们听得比较多的术语是操作符和语句.但,其实还有一个术语经常使用,却很少被提到,这就是javascript表达式(expression). 原始表达式(primary exression) 原始表达式是表达式的最小单位--它不再包含其他表达式.javascript中的原始表达式包括this关键字.标识符引用.字面量引用.数组初始化.对象初始化和分组表达式 PrimaryExpres

零基础易语言入门教程(二)之编程思路_易语言

易语言简介: 易语言是一门以中文作为程序代码编程语言.以"易"著称.创始人为吴涛.早期版本的名字为E语言.易语言最早的版本的发布可追溯至2000年9月11日.创造易语言的初衷是进行用中文来编写程序的实践.从2000年至今,易语言已经发展到一定的规模,功能上.用户数量上都十分可观. 上一篇跟大家讲了零基础易语言入门教程(一)编写第一个程序,然后接下来大家应该自己把支持库和易语言组件里面的控件全部认真的看一下,下面我直接跟大家分享下易语言简单编程思路. 方法和步骤如下所示: 1.易语言程序

零基础易语言入门教程(五)之逻辑型数据类型_易语言

在上篇文章给大家介绍了零基础易语言入门教程(四)之数据类型,上篇针对数值到文本类型知识,今天给大家介绍下逻辑型数据. 具体方法和步骤如下所示: 1.逻辑型数据非真即假: 首先申请一个局部变量(A)类型为:逻辑型,编写代码为:A=1>2,那么输出的结果应为假,因等于1是赋值与1,然后代码中写道1大于2,所以这是假的,见下图所示: 2.关系运算符: 在上图大家需注意的是,A后面的等于号是赋值符号,而后面的≥,≠,<一些符号则是关系运算符. 关系运算符不是非要设置变量给其赋值才可以使用的,同样他可以

详解C++编程中的主表达式与后缀表达式编写基础_C 语言

主表达式主表达式是更复杂的表达式的构造块.它们是文本.名称以及范围解析运算符 (::) 限定的名称.主表达式可以具有以下任一形式: literal this :: name name ( expression ) literal 是常量主表达式.其类型取决于其规范的形式. this 关键字是指向类对象的指针.它在非静态成员函数中可用,并指向为其调用函数的类的实例. this 关键字只能在类成员函数体的外部使用. this 指针的类型是未特别修改 this 指针的函数中的 type *const(

语言 基础-C语言,基础理解,请老师,朋友留步。

问题描述 C语言,基础理解,请老师,朋友留步. error C2105: '++' needs l-value 这个错误对于 char p[10]; ++p; 出现这个错误我能理解明白: 但是,对于下面这个:++(x+1);同样出现:error C2105: '++' needs l-value:学生就不明白了,希望有老师或者C语言基础理解好的朋友讲解一下:百度未查到此类情况: 新来的没悬赏: 解决方案 char p[10],p里面存储的就是这个长度为10的数组的第一个元素的地址,并且p上面存储

c语言基础-C语言基础中的语法问题

问题描述 C语言基础中的语法问题 下面是我写的代码,是一个加密的过程,运行了几遍都有语法错误,请高手在空闲之余能帮我看下是哪里错了,万分感谢 #include<stdio.h>#include<string.h>void main(){void m(*int); char a[50]*p; int l; scanf(""%s""a); l=strlen(a); p=a; m(pl); printf(""%s"&q

零基础构建语言解释器

在编写Interpreter之前,我们需要先了解Lexer(词法分析器),Parser(语法解析器),AST(抽象语法树). 一般情况下,Interpreter在解释执行程序时,一般会经过如下步骤. Lexer读入程序代码,把代码转换token序列. Parser把读到的token序列转换为AST(大部分情况下,Lexer内嵌为Parser的一部分). 对AST进行Lowering(化简AST)或者desugar(把语法糖的AST节点转换为标准等价AST节点)处理. Interpreter递归执

c语言基础-C语言基础题,统计学生成绩。求解

问题描述 C语言基础题,统计学生成绩.求解 输入一个正整数n,再输入n个学生的百分制成绩,统计各等级成绩的个数. 成绩等级分为五级,分别为A(90~100).B(80~89).C(70~79).D(60~69)和E(0~59) 解决方案 abcde没有初始化 加上 开头的printf下面加上 a=b=c=d=e=0; 解决方案二: 图片在这里,这样做为什么不对,求大神解答