C库宏定义 - assert()

来源:互联网 发布:官路淘宝 元宝 小说 编辑:程序博客网 时间:2024/06/05 23:03

描述

C库中定义的宏void assert(int expression)可以诊断是否将信息写入到标准错误文件中。换句话说,他是C程序中的诊断语句。

声明

下面是assert()宏声明:

void assert(int expression);

参数

  • expression − 可以是一个变量或其他C表达式。如果表达式结果为真,assert()什么也不做。如果为假,assert()会将错误信息输出到stderr(标准错误输出,显示错误信息和诊断信息)并终止程序的执行。

返回值

该宏不返回任何值。

示例

 下面是assert()宏示例 −

#include <assert.h>#include <stdio.h>int main(){   int a;   char str[50];    printf("Enter an integer value: ");   scanf("%d", &a);   assert(a >= 10);   printf("Integer entered is %d\n", a);       printf("Enter string: ");   scanf("%s", str);   assert(str != NULL);   printf("String entered is: %s\n", str);   return(0);}

对上面程序进行编译并运行,在交互模式下会得到如下输出,你可以尝试输入小于10的数字,会得到错误输出 −

Enter an integer value: 11Integer entered is 11Enter string: tutorialspoint String entered is: tutorialspoint 
0 0
原创粉丝点击