C中的问题
#include <iostream.h>
void main(){
int x,y,t=0,b=0;
x=y=0;t=x++&&++y;
cout < <"t=" < <t < <"," < <"x=" < <x < <"," < <"y=" < <y < <endl;
}
结果为什么是:t=0,x=1,y=0
t=x++&&++y;
这个咋计算,
#include <iostream.h>
void main(){
int x,y,t=0,b=0;
x=y=0;t=x++&&++y;
cout < <"t=" < <t < <"," < <"x=" < <x < <"," < <"y=" < <y < <endl;
}
结果为什么是:t=0,x=1,y=0
这程序确实运行的结果是这个啊,所以想问问高手是怎么样的原理
&&是条件运算符。
t=x++&&++y;
是怎么骗过编译器的???
你用的是什么啊?
短路停止算法,在&&号之前计算x的值如果为0,就不再计算&&后的表达式!
首
相关问答:
#include <string.h>
#include <stdio.h>
void main()
{
int i;
char buf[]="abcde";
strncpy(buf,"abc",3);
for(i=0;i <5;i++)
printf(&q ......
在ue中从远程unix用二进制方式下载c文件到本地,修改之后用二进制方式上传到unix中,再用vi打开该文件,每行后面就会有一个^M的换行符,如果采用ascii方式下载,二进制方式上传的话就没有^M,那请问这样会对程序文件 ......
编写程序detab, 将输入中的制表符替换成适当数目的空格,使空格充满到下一个制表符终止的地方。假设制表符终止位的位置是固定的,比如每隔n列就会出现一个制表符终止位。
------------------- ......
C/C++ code:
command.h
/* DEFUN for vty command interafce. Little bit hacky ;-). */
#define DEFUN(funcname, cmdname, cmdstr, helpstr) \
int funcname (struct cmd_element *, struct vty *, int, c ......
我建了一个带头指针的链表
头指针L 那么我想删除链表
free(l);是删除了头结点 还是连它的下面的结点也一起删了?
free(l)后 还用全删一便吗?(从内存的角度 不是从查找的角度考虑)
删头节点
回答完毕 ......