首页
前端面试题
前端报错总结
电子书
更多
插件下载
Search
1
JavaScript基础(二)操作符 流程控制
42 阅读
2
HTML基础
20 阅读
3
Vue基础
17 阅读
4
wctype.h
14 阅读
5
Vue2(知识点)
13 阅读
默认分类
HTML CSS
HTML基础
CSS
HTML5 CSS3
javaScript
javaScript基础
javaScript高级
Web APIs
jQuery
js小总结
WEB开发布局
Vue
PS切图
数据可视化
Git使用
Uniapp
c语言入门
标准库
嵌入式
登录
Search
liuxiaobai
累计撰写
108
篇文章
累计收到
12
条评论
首页
栏目
默认分类
HTML CSS
HTML基础
CSS
HTML5 CSS3
javaScript
javaScript基础
javaScript高级
Web APIs
jQuery
js小总结
WEB开发布局
Vue
PS切图
数据可视化
Git使用
Uniapp
c语言入门
标准库
嵌入式
页面
前端面试题
前端报错总结
电子书
插件下载
搜索到
104
篇与
的结果
2023-09-20
stdbool.h
stdbool.hstdbool.h头文件定义了4个宏。bool:定义为_Bool。true:定义为1。false:定义为0。__bool_true_false_are_defined:定义为1。bool isEven(int number) { if (number % 2) { return true; } else { return false; } }#include <stdio.h> #include <stdbool.h> int main(void) { unsigned long num; unsigned long div; bool isPrime = true; num = 64457; for (div = 2; (div * div) <= num; div++) { if (num % div == 0) isPrime = false; } if (isPrime) { printf("%lu is prime.\n", num); } else { printf("%lu is not prime.\n", num); } return 0; }
2023年09月20日
4 阅读
0 评论
0 点赞
2023-09-20
stdarg.h
stdarg.hstdarg.h定义于函数的可变参数相关的一些方法。va_list 类型va_start()va_arg():获取当前参数va_end()。va_copy():it makes a copy of your va_list variable in the exact same state.va_copy() can be useful if you need to scan ahead through the arguments but need to also remember your current place.接受可变函数作为参数的一些方法。vprintf()vfprintf()vsprintf()vsnprintf()#include <stdio.h> #include <stdarg.h> int my_printf(int serial, const char *format, ...) { va_list va; // Do my custom work printf("The serial number is: %d\n", serial); // Then pass the rest off to vprintf() va_start(va, format); int rv = vprintf(format, va); va_end(va); return rv; } int main(void) { int x = 10; float y = 3.2; my_printf(3490, "x is %d, y is %f\n", x, y); }
2023年09月20日
6 阅读
0 评论
0 点赞
2023-09-20
signal.h
signal.h简介signal.h提供了信号(即异常情况)的处理工具。所谓“信号”(signal),可以理解成系统与程序之间的短消息,主要用来表示运行时错误,或者发生了异常事件。头文件signal.h定义了一系列宏,表示不同的信号。SIGABRT:异常中止(可能由于调用了 abort() 方法)。SIGFPE:算术运算发生了错误(可能是除以 0 或者溢出)。SIGILL:无效指令。SIGINT:中断。SIGSEGV:无效内存访问。SIGTERM:终止请求。上面每个宏的值都是一个正整数常量。signal()头文件signal.h还定义了一个signal()函数,用来指定某种信号的处理函数。signal(SIGINT, handler);signal()接受两个参数,第一个参数是某种信号的宏,第二个参数是处理这个信号的函数指针handler。信号处理函数handler接受一个 int 类型的参数,表示信号类型。它的原型如下。void (*func)(int);handler函数体内部可以根据这个整数,判断到底接受到了哪种信号,因为多个信号可以共用同一个处理函数。一旦处理函数执行完成,程序会从信号发生点恢复执行。但是,如果遇到 SIGABRT 信号,处理函数执行完成,系统会让程序中止。当系统向程序发送信号时,程序可以忽略信号,即不指定处理函数。signal()的返回值是前一个处理函数的指针,常常把它保存在变量之中,当新的处理函数执行完,再恢复以前的处理函数。void (*orig_handler)(int); orig_handler = signal(SIGINT, handler); // SIGINT 信号发生之后 signal(SIGINT, orig_handler);上面示例中,signal()为信号SIGINT指定了新的处理函数handler,把原来的处理函数保存在变量orig_handler里面。等到handler这个函数用过之后,再恢复原来的处理函数。信号相关的宏signal.h还提供了信号相关的宏。(1)SIG_DFLSIG_DFL 表示默认的处理函数。signal(SIGINT, SIG_DFL);上面示例中,SIGINT 的处理函数是默认处理函数,由当前实现决定。(2)SIG_IGNSIG_IGN 表示忽略该信号。signal(SIGINT, SIG_IGN);上面示例表示不对 SIGINT 信号进行处理。由于程序运行时按下 Ctrl + c 是发出 SIGINT 信号,所以使用该语句后,程序无法用 Ctrl + c 终止。(3)SIG_ERRSIG_ERR 是信号处理函数发生错误时,signal()的返回值。if (signal(SIGINT, handler) == SIG_ERR) { perror("signal(SIGINT, handler) failed"); // ... }上面示例可以判断handler处理 SIGINT 时,是否发生错误。raise()raise()函数用来在程序中发出信号。int raise(int sig);它接受一个信号值作为参数,表示发出该信号。它的返回值是一个整数,可以用来判断信号发出是否成功,0 表示成功,非 0 表示失败。void handler(int sig) { printf("Handler called for signal %d\n", sig); } signal(SIGINT, handler); raise(SIGINT);上面示例中,raise()触发 SIGINT 信号,导致 handler 函数执行。
2023年09月20日
3 阅读
0 评论
0 点赞
1
...
7
8
9
...
35