gpt4 book ai didi

c - MSVC13RC 仍然不遵守 C 标准?

转载 作者:太空狗 更新时间:2023-10-29 16:07:49 25 4
gpt4 key购买 nike

我刚刚下载了 MSVC2013RC,因为我听说它将比以前版本的 MSVC 更好地处理 c 标准。所以我只是下载了它并在 Windows 平台上测试了一些我真正想要的东西。

但是第一次测试已经让我非常失望了。

#include <stdlib.h>
#include <stdbool.h>
#include <stdio.h>

int testFunction(int iIn);


int main(int argc, char** argv)
{
int *TheKiddingBool;

TheKiddingBool= NULL;

TheKiddingBool= malloc(sizeof (int));

*TheKiddingBool= 17;

_Bool bWow;

bWow = true;

if (testFunction(*TheKiddingBool) == bWow)
{
printf("\r\nQAtest succesed!\r\n");
}

return 0;
}

int testFunction(int iIn)
{
return iIn;
}

testFunction(*TheKiddingBool) == bWow 的比较返回 false。这是 MSVC13 的 C 编译器中的一个非常严重的错误吗?

或者我只是理解这行

6.3.1.2 Boolean type

§1 When any scalar value is converted to _Bool, the result is 0 if the value compares equalto 0; otherwise, the result is 1.

c99 ISO/IEC 9899:TC3 有什么问题吗?

最佳答案

根据7.18.3

正确

扩展为整数常量 1

将您的比较作为返回 falseif (17 == 1)

关于c - MSVC13RC 仍然不遵守 C 标准?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18828145/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com