int a=5;
printf("%d %d",a=3,a+4);
cout<<(a=3)<<(a+4);
结果是什么?谁给分析一下啊?
1。表达式有副作用;
2。求值的顺序未定。
所以具有未定义的行为。
LZ不要把精力浪费在这个上了。
有需要的话,把这些语句分成多个语句。
好多头疼的问题
是老师出的题目吗?
如果是,那真是变态的老师!
a=3,a+4
先执行a+4=9;
后重新给a赋3的值。输出3。
输出是自右至左。
结帖子吧
printf函数是从右边开始执行的。
<< 操作符也是从右边往左边开始执行的。
3 9 ———— 这句printf执行完了,a = 3,所以下句输出3 7
3 7
在程序中混用printf和cout不是什么好习惯,尽量避免
呵呵 我的vs2005 运行结果是 3 7 3 7哦 !!
3 7 ,3 7
这种问题不同的系统运行结果不一样的,不要在这种问题浪费太多时间。
如果想知道结果,在你自己的环境下运行一下就知道了。
两个输出结果都是3 9,
C语言printf函数参数求值顺序为自右向左,
C++中的<<也是一个函数,是运算符的重载,运算方向为右结合。
两个输出结果是
3 9
3 7
C语言printf函数参数求值顺序为自右向左,
C++中的 < <也是一个函数,是运算符的重载,运算方向为右结合。
是进栈的时候从右向左,出栈的时候就成了从左向右输出了,对否?
相关问答:
写了个测试程序如下
struct hostent *hp;
char AlarmDevIP[20];
int x2;
hp = gethostbyname("www.google.com");
if (hp)
{
......
如题,C/C++中的execl怎么调用写好的java程序,
execl("/opt/java1.5/bin/java","MyClass",NULL);
这样的不行哦。
不会.
运行java程序
找工具查看一下那个程序的命令行
搜索下:jni ......
有一10*10矩阵,除去第一个点(0,0)和最后一点(9,9),还有八个点为1,其他都为0,要求用二维数组表示。八个点是随机生成的,编写相关程序表示矩阵所有可能情况。
真心求教各位高手,哎!本人太菜了!呵呵!
......
现在需要在一个嵌入式系统中实现时间函数,编译器未提供time库函数,请问大家如何用c语言实现时间函数啊?
年月日时分秒 到 整数秒(从1970年开始) 之间的相关转换啊
类似mktime 和localtime的功能,谢谢
mktime ......