m0_57900435 2021-05-30 23:00 采纳率: 94.1%
浏览 31
已结题

_Static_assert,c11的,怎么还是用不了,哪里错了

 

  • 写回答

1条回答 默认 最新

  • bostonAlen 2021-05-30 23:22
    关注

      assert() 函数用法

      assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行,原型定义: 

     #include <assert.h>
    
     void assert( int expression );

      assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,

      然后通过调用 abort 来终止程序运行。

      请看下面的程序清单badptr.c:

      #include <stdio.h>
    
      #include <assert.h>
    
      #include <stdlib.h>
    
      int main( void )
    
      {
    
      FILE *fp;
    
      fp = fopen( "test.txt", "w" );//以可写的方式打开一个文件,如果不存在就创建一个同名文件
    
      assert( fp ); //所以这里不会出错
    
      fclose( fp );
    
      fp = fopen( "noexitfile.txt", "r" );//以只读的方式打开一个文件,如果不存在就打开文件失败
    
      assert( fp ); //所以这里出错
    
      fclose( fp ); //程序永远都执行不到这里来
    
      return 0;
    
      }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月15日
  • 已采纳回答 9月7日

悬赏问题

  • ¥66 换电脑后应用程序报错
  • ¥50 array数据同步问题
  • ¥15 pic16F877a单片机的外部触发中断程序仿真失效
  • ¥15 Matlab插值拟合差分微分规划图论
  • ¥15 keil5 target not created
  • ¥15 C/C++数据与算法请教
  • ¥15 怎么找志同道合的伙伴
  • ¥20 如何让程序ab.eXe自已删除干净硬盘里的本文件自己的ab.eXe文件
  • ¥50 爬虫预算充足,跪巨佬
  • ¥15 滑块验证码拖动问题悬赏