c语言x=&y和*x=y有什么区别?
代码执行先后顺序的区别
++代表+=1,在变量前面例如++x-1代表着直接在这里将变量值加上1,故y=6-1=5
而在变量后面,x++-1代表着在执行完这一行再予以加1,故y=5-1=4
实验代码:#include
int main(){
int x=5,y=10;
printf("%d %d
",x,y);
y=++x-1; // => 在这里意味着 变量x 直接+1,y= 变量x -1
printf("%d %d
",x,y);
x=5;y=10;
y=x++-1; // => 在这里意味着 变量x 现在暂时不变,y= 变量x -1
printf("%d %d
",x,y); // => 执行完上一句代码后,x值才+1
}
*x是定义的一个指针变量,也是内存上的一块空间,只不过空间里面存放的是地址。其中*是指针的一个标志。y是一个变量,加上&后表示取得了此块空间的地址,因此两者是等价的。意思就是把y的地址赋值给x。
int *x,y;
*x=y;/*此时*x和y是等价的*/
if(x==y)是判断x与y是否相等,相等则为真,不等则为假
if(x=y)这个是把y的值赋给x,然后判断表达式x=y的值,c语言中,赋值表达式是有值的,它的值是赋值符号右边的值,即x=y的值是y的值,如果y的值为0,那么x=y为假,否则为真
一般来讲,编程过程中if(x=y)这种写法是错误的写法,程序能够通过编译,也能够运行,但是可能会出现意料之外的结果。
x = &y。 fun函数的局部变量x指向的地址被改变,注意这儿的指针是值传递, 所以不会对传入的变量有任何影响,得到的结果就是a,b变成了相同的数值。 这样做没什么意义。
x=y
是一个赋值表达式,将y的值赋给x
x==y是一个逻辑表达式,判断x是否等于y,其值为1(真)或0(假)
c语言x=&y和*x=y有什么区别?整型和指针的问题啊~
C语言中 x==0 是什么意思?
“==”是逻辑运算符,用于判断是否等于。例如: y = (x == 0) 中如果x的值为0,那么 x == 0 的运算结果就是1,y的值就是1,否则x == 0 的运算结果就是0,y就等于0。这是c等语言比较基本且应该掌握的知识。
C语言里,怎样理解表达式(x=a>b)&&(y=c>d)的意义?
将a>b的值赋值给x 将c>d的值赋值给y 然后进行逻辑与运算。 关键是优先级
C语言 表达式!X等价于——— A,x==0; B,x==1; C,x!=0; D,x!=1;_百 ...
答案是A,C语言表达式!X等价于x==0。!x 的意思就是 !x 为非0,也就是 x==0 选A,&&表达式是实质上是一个判断:就是当作有两边的操作数都为真时,结果才为真。这里X&&1,右边已经是真值,如果你需要X&&1返回的是真值,那么x就不能为0.也就是选A了。当x→0时,等价无穷小:(1)sinx...
c语言中的x==y是什么意思
C语言里面(==)一般都是判断两个值是否相等,例如if(x==y)就是判断变量x和y是否相等
在C语言if语句后的逻辑量中X=0和X==0的区别?其实主要是想知道X=0啥时 ...
亲,x是变量。变量就是在程序运行过程中可以改变的量。x=0这个赋值表达式意思是把0这个常量值赋值给x,如果x=1意思是把1这个常量赋值给x。而x==0这个表达式判断x变量的值是否为0。x=0在任何情况下都是假的,如果你给x赋一个非零的值,它就为真啦!还有就是c语言中的=不是数学上的等于运算,...
C语言中 “X== ” 是什么意思
==是双目运算符 =是赋值用的 比如:a=b:将b的值赋予给a a==b:主要目的是为了判断所用,即判断a是否等于b,若等于,就。。。
x什么意思c语言视频教程
c语言x的含义是转义字符 告诉编译器需要用特殊的方式进行处理。x表示后面的字符是十六进制数,\\0表示后面的字符是八进制数。C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能...
c语言中,x=1,-x++等于什么
-x++=-(x++),因为x=1,且x++是后置的,所以此处x=1,然后x加1,所以 -x++=-1
c语言!x==y与!x=y有什么区别?x=3,y=4,!(x<0)是什么意思啊?
x==y是比较x和y是否相等。x=y是赋值,把y的值赋值给x !是逻辑非,对右面部分的否定。!(x<0)当然就是把x<0否了,就是传说中的x不小于0,你高兴的话写成x>=0也随你
c语言里 if(x=y=z)是什么意思?
意思是将z的值赋给y,再赋给x,如果x的值不是0,则x=y=z为真,值为1,如果x的值是0,则x=y=z为假,值为0。
双鸿重酒: x=y 是一个赋值表达式,将y的值赋给x x==y是一个逻辑表达式,判断x是否等于y,其值为1(真)或0(假)
珠海市19319013298: x*y和(x)*(y)在c语言中有什么不同 - ?
双鸿重酒: 这是一个三目运算符,如果 --x 与 y++相等的话,把--x的值赋给a,否则,将++y的值赋给a; 在这里,--x是先对x进行自减1再执行语句,y是再执行完语句再执行y自加1,也就是说现在解析出来的表达式为 x - 1 == y ,后面同理!
珠海市19319013298: x&&y在c语言中什么意思 - ?
双鸿重酒: &&是逻辑与 x&&y当x与y都为真时,结果为真(1),否则为假(0)
珠海市19319013298: C语言中!(x==1&&y==1)和x!=1&&y!=1有什么区别? - ?
双鸿重酒: 在do{}while的第一次循环,是无条件的循环,只有满足条件时才作更多次循环体的执行.!(x==1&&y==1)--------->“x,y不同时为1”,只要有一个不为1就循环 x!=1&&y!=1------------->“x,y同时不为1”,必须要两个都不为1才循环
珠海市19319013298: 在vc++中(x==y)与(x=y)的区别 - ?
双鸿重酒: ==是逻辑是否相等,如果x等于y,则结果是逻辑1否则是逻辑0,=是赋值,x=y是把y的值给x,想就等于y的值.
珠海市19319013298: *x=&y是什么意思,代表什么?C语言中的. - ?
双鸿重酒: *x是定义的一个指针变量,也是内存上的一块空间,只不过空间里面存放的是地址.其中*是指针的一个标志.y是一个变量,加上&后表示取得了此块空间的地址,因此两者是等价的.意思就是把y的地址赋值给x. int *x,y; *x=y;/*此时*x和y是等价的*/
珠海市19319013298: x>y?x:y;在C语言中代表什么意思 - ?
双鸿重酒: 一楼说的还有点问题.A?B:C 这个运算是判断A的真假,若是真就执行B如是假就执行C,所以x>y?x:y;这句话的意思就是判断x和y值得大小,要是x>y结果就是x,否则就是y,也就是说这句的是输出的x和y中较大的那个数.可以使用一下程序来检测:#include<stdio.h> main() { int x=1,y=2,z; z=x>y?x:y; printf("z=%d\n",z); }
珠海市19319013298: c语言x+=x*=2什么意思 - ?
双鸿重酒: += 指的是 x=x+? * = 指的是x=x*? C语言的执行顺序是从右到左 x+= ( x*=2 ) 先计算右边的 x*=2 再 用 结果带入到x+=()中.
珠海市19319013298: c语言中x*(y)+z和x*y+z 的区别 - ?
双鸿重酒: 这是宏替换的特点!宏替换是在编译时,将源程序中与宏定义符合的代码进行“傻瓜”式替换.如:#define MAX(x,y,z) x*(y)+z printf("%d/n", MAX(a+b.b+c,c+a) ); 在编译时替换成printf("%d/n", a+b*(b+c)+c+a ); 而#define MAX(x,y,z) x*y+z printf("%d/n", MAX(a+b.b+c,c+a) ); 在编译时替换成printf("%d/n", a+b*b+c+c+a ); 可见两个表达式在编译后的结果是不同的,因而结果不同!
珠海市19319013298: C语言中x+=y,x - =y分别表示什么意思x+=y,x - =y分别表示什么意思 - ?
双鸿重酒:[答案] x+=y 就相当于 x=x+y 其他的类似