相关疑难解决方法(0)

前缀和后缀运算符有什么区别?

以下代码打印值为9.为什么?这里return(i++)将返回一个值11,由于--i该值应该是10本身,任何人都可以解释这是如何工作的?

#include<stdio.h>
main()
{
    int i= fun(10);
    printf("%d\n",--i);
}

int fun (int i)
{
    return(i++);
}
Run Code Online (Sandbox Code Playgroud)

c prefix-operator postfix-operator

33
推荐指数
5
解决办法
12万
查看次数

为什么一个函数调用缺少它的名字仍然编译?

开发人员正在复制并粘贴相似类型的代码,并在其中而不是代码中犯了错误

int x = 100;
int y = 100;
int z = 100;
aFunction(x, y, z);
Run Code Online (Sandbox Code Playgroud)

他们不小心打字了

int x = 100;
int y = 100;
int z = 100;     
(x, y, z);  //What does this Line of Code do?
Run Code Online (Sandbox Code Playgroud)

此代码已成功编译,并未发出警告.尝试在VS 2015中调试此代码时,调试器将跳过此行代码.

为什么这行代码编译并且没有发出警告,这行编码是做什么的?

更新: 在Visual Studio 2015中构建所有警告显示此警告,但级别4不显示.奇怪的是,Code Analysis和Clang Power Tools都没有显示此警告.

谢谢.

c++ clangpowertools

-2
推荐指数
1
解决办法
115
查看次数