C语言中为什么一会儿用“==”,一会又用“=”,有什么区别?有规律吗?

来自:    更新日期:早些时候
在C语言中,为什么有时用=又有时用==,有什么区别吗?~

==是用来比较两个不管是数字还是字符时候一样,如果一样则返回真值,如果不一样则返回0
=一般是用来得出结果

这代码应该不是C代码,是C++代码
int a(LNode *node){}//说明要求实参为LNode型的指针变量或是LNode型变量的地址int a(LNode &node){}//这句是C++才有的,C没有的,表示要求实参为LNode型的引用类型int a(LNode node){}//说明要求实参为LNode型变量其中C++中的引用是C语言中没有的,简单的说就是一个变量的别名。
例如:
int a=7;
int &b=a;//这句定义一个整型变量的引用 b,并且用a来初始化引用
这样如果
b=8; 就相当于 a=8;的效果,
有关引用的知识也不是一两句话的问题,最好去看看C++的教材或资料,在C++的类中的很多成员函数,特别是运算符重载会经常用到

您好,很高兴回答您的问题。
在c语言中,不同符号有不同的含义。==是关系运算符,用来判断符号两边的数据是否满足两者完全相等的条件,若是满足则表达式结果为真,否则结果就为假。而=是表示的赋值运算,要求左边必须是单个变量,右边可以是常量、变量和表达式。表示把右边数据的结果赋值给左边的变量。
明白了两者的含义后,再使用就不会很难了。

在c语言规范中,用“==”来表示两个操作数相等,而用“=”来表示对一个变量进行赋值运算。
它们的区别和规律就是“==”两边的数在进行比较时都已经有确定的值了,而“=”的左边则通常是一个变量,只有在赋值后才有确定的值。

c语言中,==表示判断两个表达式是否相等,=表示将等号后面的计算结果赋值给前面的变量,双等号是逻辑判断,单等号是赋值,两者完全不一样。

一个是赋值语句,另外一个是等于,判断的语句,所以这是不一样的,你可以去了解一下c语言的运算符,很多很复杂,建议你多看看就好了,确实不是很好理解。

区别太大了,
==表示判断,判断前后两个值是不是相等,值做判断,常出现在循环条件,判断条件,选择条件中,类似的还有!=表示是否不相等,
=这个符号表示赋值,比如a=5;就是把a的值定义或者重新定义成5,之前没值就赋值成5,之前是4,就重新定义成5,以后的a就不是4,而是重新赋值的5,没有判断的关系,只有赋值,


C语言中为什么一会儿用“==”,一会又用“=”,有什么区别?有规律吗?视频

相关评论:
  • 18475477905C语言中为什么一会儿用“==”,一会又用“=”,有什么区别?有规律吗...
    车卿卞您好,很高兴回答您的问题。在c语言中,不同符号有不同的含义。==是关系运算符,用来判断符号两边的数据是否满足两者完全相等的条件,若是满足则表达式结果为真,否则结果就为假。而=是表示的赋值运算,要求左边必须是单个变量,右边可以是常量、变量和表达式。表示把右边数据的结果赋值给左边的变量。明白...

  • 18475477905C语言 int i =5,k; k = (++i)+(++i); 求分析结果
    车卿卞k=i+i;——k==7+7==14。值得注意的是,这种写法出现两个以上的加项时,不同的编译器会有不同的处理细节,会造成结果不一样:比如k=(++i)+(++i)+(++i);,有些编译器做出来是24,有些则是22。两项的时候不存在问题,都是以上答案。所以多项时不提倡这种写法……

  • 18475477905有谁知道C语言程序的编程规范,给我概括一下,
    车卿卞对于频繁使用的或长的项,推荐使用标准缩略语以使名称的长度合理化。一般来说,超过 32 个字符的变量名在 VGA 显示器上读起来就困难了。当使用缩略语时,要确保它们在整个应用程序中的一致性。在一个工程中,如果一会儿使用 Cnt, 一会儿使用 Count,将导致不必要的混淆。对于自行编写的函数,若是系统关键函数,则须在...

  • 18475477905PI可作为标识符使用。这句话对吗?为什么?
    车卿卞至于printf,虽然printf是C语言的库函数名,但因为它符合一个标识符应当满足的所有条件,所以我们可以称其为标识符。一个函数(无论是库函数,还是自定义函数)名,都可以成为标识符名无论他是拿来干什么的。--- “printf一会儿拿来当显示用,一会儿说它是火星人,电脑听谁的?”printf就是用来显示东西...

  • 18475477905c语言 结构体数组输入后无法输出正确数据,float数据总是0.0000...
    车卿卞你的struct定义里是这么写的float score[3]; 这是数组的意思,应该是float score;因为代码太乱,也没法给你验证了,你把[3]删掉试试看

  • 18475477905单片机C语言程序
    车卿卞define uint unsigned int\/\/是宏定义,这样定义以后,在接下来的程序当中就能用uint 代替unsigned int了,void DelayMS(uint x)\/\/是一个子函数,当调用时,就直接执行大括号里面的语句,while(x--)\/\/是循环语句,当X--=0时,就不满足条件,跳出循环。它整个的功能就是一个延时,等待单片机处理完其它任务...

  • 18475477905for和while的区别
    车卿卞当然是有区别:一个是先加一再循坏,另一个是先循环再加一。具体的:如果只是一条单独语句,没区别,比方说for(i=0;i<9;i++)与for(i=0;i<9;++i)都表示每次f0r循环结束时i+1后判断i是否<9再进入下一次循环。或者是循环内部的i++;及++i;也同理。但如果不是单独语句,就有区别:比如n...

  • 18475477905while(1) 是什么意思?
    车卿卞C语言的运算符主要用于构成表达式,同一个符号在不同的表达式中,其作用并不一致。下面按计算的优先顺序,分别说明不同作用的表达式。需要特别指出,在C语言标准中,并没有结合性的说法。相同优先级运算符,从左至右依次运算。注意后缀运算优先级高于前缀。因此++i++应解释为++(i++)。而与或非的运算...

  • 18475477905求大神帮帮看下代码,(C语言);总是报错,一会儿是bus error 一会儿是segem...
    车卿卞0下调试过了,生成obj和exe时语法都没错...只是一运行程序就终止了,可能是逻辑上有错,但是我不知道你的这个程序是想解决什么问题...至于你说的那两个错,可能是你没有完全关闭先前文件的工作空间吧,还有就是不知道你的编译器是哪一版本,不同的编译器对错误的兼容可能不同,你自己看下吧!

  • 18475477905c语言这个程序c为什么等于2,return a不起作用吧?
    车卿卞你这到处是变量a ,看了好一会儿才看出来,这个return a是起到作用了的,之所以 c等于2是因为在f(int a,int *p)函数中你传进来的参数*p是你原来的a=1;所以在 运行f()函数的时候,a=*p+1 ->> a=2; 这一步之后你的a就没什么变化了,return a 就只能是2了。你的c值是这个f()函数...

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网