该标签用于有关国际标准ISO 9899:1990的问题,也称为“C89”,“C90”或“ANSI C”,带有修正和技术勘误(与K&R C,C99,C11或更高版本C标准修订版相对) )。
让我们看一下为 32 位系统编译的以下代码: typedef 无符号 int uint32; typedef 无符号字符 uint8; ... uint8 y= 0xFF; uint32 x = (y << 24U); y can be promoted to i...
是一个未初始化的全局结构,在 C 中具有未初始化的 int 成员定义的行为?
根据 C 标准,int 类型的未初始化全局变量的值始终为 0。 如果变量不是全局变量,则情况不成立,但是全局结构呢? 在以下示例中: 是...
如果我使用c89和c99编译以下程序有什么区别吗? 我得到相同的输出。两者真的有区别吗? #包括 int 主函数 () { ...
我正在尝试制作一个返回布尔值的简单断言宏,但我不断得到一个 void 函数。 #定义假0 #定义真!假 #define CASSERT(谓词) \ ({ \ if((谓词)) \...
我有旧的 C 代码片段,其中包含这些行(结果只是斜杠符号): putchar('/' //**/ 1 / 1 /' '); 谁能解释一下这个片段吗?这个符号是什么意思? 附:顺便说一下
在严格的 C89 模式下编译器不会对 `uint64_t` 发出警告
我正在尝试编写严格的 ISO C89 兼容代码。由于 long long 不是标准的,并且通常在 C99 之前作为编译器扩展实现,因此当我使用它时,编译器应该警告我。然而,...
我试图找到在测试严格的 C90 一致性时要使用的 gcc 标志的组合是什么。根据上一篇文章:GCC options for strictest C code?,我应该只需要一个 --std=c90。
例如, 整数结果; 结果 = 125/100; 或者 结果 = 43/100; 结果总是分区的底线吗?定义的行为是什么?
是否可以在CMake中强制使用C90,并让编译器以交叉兼容的方式捕获C99风格注释的错误? [重复]
我有一个使用 main.c 和 CMakeLists.txt 设置的基本程序。它们包含以下内容: /* CMakeLists.txt */ cmake_minumum_required(版本3.1) 项目(cmake-测试) 添加可执行文件(${PROJECT_NAME}
为什么 clang 和 gcc 在 `-std=c89` 选项下输出不同的结果?
我遇到了这个测验,所以想自己验证一下: #包括 空白 打印总和(a,b) { printf("%d ”,a+b); } 整数 主要(空) { print_sum(1.5, 8.5); 返回 0...
无法在代码/makefile中找到问题--> clang:错误:链接器命令失败,退出代码为1
获取 clang: 错误:运行 makefile 时链接器命令失败,退出代码为 1。特别是在尝试创建可执行文件时: gcc powers.c -Wall -pedantic -ansi -c gcc 边界.o 权力.o...
文件set_my.c中的第一题主程序 您必须编写一个程序,该程序接受 int 类型的整数值列表作为输入。 从这个值列表中,您必须构建一个组。 该计划...
即使在 realloc 工作之后,我指向 int 数组的指针也只保存第一个元素
我想问你关于我如何在 main 函数上修复我的 set 变量的意见,即使在 realloc 正常工作之后它只是出于某种原因保存第一个元素并丢弃 o ...
下面主要想通过msbuild编译 #包括 int main (int argc, char *argv[]) { 字符缓冲区[2000]; printf("测试"); 获取(缓冲区); } 批处理文件调用
如何在 Visual Studio 2013 中强制执行 c89 标准? 我已将“禁用语言扩展”切换为“是 (/Za)”并将警告设置为 -Wall。我希望 Visual Studio 显示的错误是如果我使用 //
我知道以前有人问过这个问题,但我的问题更具体, 这是代码: #包括 #include /* 必须包含在时间函数中 */
是否有文献证明 printf 的 %f 将 float 转换为 double? [重复]
我读过 printf 的 %f 说明符用于 double,它会自动将 float 转换为 double。但是我在书中找不到任何证据(尽管它在网上有说明)。 我没有...
在子函数内调用 printf 会导致访问冲突。 该程序的规模非常庞大。但我能够将问题隔离到只调用子函数的地步....
我试图记住如果使用标准 c 编译器 (C89),下面的两个 if 语句将以相同的方式求值。 片段 1: 布尔函数(格式类型*格式) { 如果(格式!= null &...
为多种类型定义相同的函数时,如何避免在 C89 中重复自己?
我正在用 c89 编写一个简单的 dsp 库。使用此版本的语言以移植到旧机器是一个目标。我正在对我的库进行单元测试并想测量振幅响应...