首页 > 其他分享 >一些神奇的运算优先级

一些神奇的运算优先级

时间:2023-12-09 23:23:02浏览次数:32  
标签:10 main 优先级 cout int 括号 return 神奇 运算

首先来看这个代码

int f(int *p)
{
	int y=(*p)*2;
	(*p)++;
	return y;
}
int main() 
{
	int x=10;
	cout<<x+f(&x);
	return 0;
}

这个代码输出的是31,感觉似乎f加了一个括号?

那再看看这个代码

int f(int *p)
{
	int y=(*p)*2;
	(*p)++;
	return y;
}
int main() 
{
	int x=10;
	cout<<(x)+f(&x);
	return 0;
}

也输出31,怎么回事,括号不管用?

再看看这个代码

int f(int *p)
{
	int y=(*p)*2;
	(*p)++;
	return y;
}
int main() 
{
	int x=10;
	cout<<x+1+f(&x);
	return 0;
}

还输出31,怎么回事,难道f没括号?

实际上,单独只写一个x太简单了,不会进行运算,所以就会先进行f的运算,而f实际上是没有括号的

标签:10,main,优先级,cout,int,括号,return,神奇,运算
From: https://www.cnblogs.com/dingxingdi/p/17891998.html

相关文章

  • 网络优先级cgroup 【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/admin-guide/cgroup-v1/net_prio.html网络优先级cgroup网络优先级cgroup提供了一个接口,允许管理员动态设置由各种应用程序生成的网络流量的优先级。通常情况下,应用程序会通过SO_PRIORITY套接字选项设置其流量的优先级。然而,这并不总是......
  • [Python]运算符: / 和 % 和 //计算差异是什么?
    /和%和//(地板除)在Python中的作用是:用于对数据进行除法运算。python中与除法相关的三个运算符是//和/和%,下面逐一讲解。“/”,这是传统的除法,5/2=2.5“//”,在python中,这个叫“地板除”,3//2=1“%”,这个是取模操作,也就是区余数,8%2=0,7%2=1Python中分为3种除法:1、/,2、%,3......
  • 四则运算(感谢吴志远同志为我的代码提供的改进)
    我截的图不完全(请自行补充)1.确定这次题目的个数和范围,以及得到4个随机数(补充:1.鄙人能力有限只能到达整数和分数,真分数确实不会2.我直接来4个是为了之后我分了3种类都可以使用计算方便,各位也可以根据不同的类别定义分别定义2,3,4个随机数)2.我用3个元素的数组定义了符号位,每个元素......
  • Java_1 变量、运算符、表达式、输入与输出
    1编写一个简单的Java程序–手速练习publicclassMain{publicstaticvoidmain(String[]args){System.out.println("HelloWorld");}}2语法基础2.1变量变量必须先定义,才可以使用。不能重名。变量定义的方式:publicclassMain{publicstat......
  • python实现一个优先级队列
    实现一个优先级队列问题怎样实现一个按优先级排序的队列?并且在这个队列上面每次pop操作总是返回优先级最高的那个元素解决方案下面的类利用heapq模块实现了一个简单的优先级队列:importheapqclassPriorityQueue:def__init__(self):self._queue=[]s......
  • 位运算(原码,反码,补码)
    免责声明:java基础资料均来自于韩顺平老师的《循序渐进学Java零基础》教案,具体视频内容可以去B站观看,这些资料仅用于学习交流,不得转载用于商业活动1.位运算1.1原码,反码,补码对有符号的数而言:二进制的最高位是符号位:0表示正数,1表示负数(0->01->-)正数的原码,反码,补码都一样(三码......
  • 汇编-逻辑运算指令
     xor异或               or逻辑或                 and逻辑与not非                 TEST逻辑与        ......
  • Java运算符
    1.运算符1.1算术运算符算术运算符是对数值型的变量进行运算publicclassOperator{publicstaticvoidmain(Stringargs[]){System.out.println(10/4);//2System.out.println(10.0/4);//2.5doubled=10/4;System.out.println(......
  • 刷题 位运算 位掩码
    2023.12.71903D1 解题思路题目一眼longlong,所以从大到小迭代每一个位(262到20)因为要与&起来最大,尽量把高位的0在不超过步数的情况下整成1,所以如果第i位是0,就把ai增加到下一位变成1只有能走到最后的i是答案的二进制第i位为1,直接加在ans上 代码 #include<iostream>#in......
  • C-04.运算符(基础)
    运算符1.算术运算符算术运算符主要用于数学运算,其可以连接运算符前后的两个数值或表达式,对数值或表达式进行+,-,*,/,%运算。1.1加法和减法运算符mysql>SELECT100,100+0,100-0,100+50,100+50-30,100+35.5,100-35.5->FROMdual;+-----+---------+--------......