教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 学前教育 >

c语言经典笔试题(非常全)(9)

来源:网络收集 时间:2026-07-11
导读: 102 一个递规反向输出字符串的例子,经典例程. void inverse(char *p) { if( *p = = '\\0' ) return; inverse( p+1 ); printf( \} int main(int argc, char *argv[]) { inverse(\ return 0; } 103、用递归算法判断数

102 一个递规反向输出字符串的例子,经典例程. void inverse(char *p) {

if( *p = = '\\0' ) return;

inverse( p+1 ); printf( \}

int main(int argc, char *argv[]) {

inverse(\ return 0; }

103、用递归算法判断数组a[N]是否为一个递增数组。

递归的方法,记录当前最大的,并且判断当前的是否比这个还大,大则继续,否则返回false结束: bool fun( int a[], int n ) { if( n= =1 ) return true; if( n= =2 )

return a[n-1] >= a[n-2];

return fun( a,n-1) && ( a[n-1] >= a[n-2] ); }

104 什么是可重入性?

可重入(reentrant)函数可以由多于一个任务并发使用,而不必担心数据错误。相反,不可重入(non-reentrant)函数不能由超过一个任务所共享,除非能确保函数的互斥(或者使用信号量,或者在代码的关键部分禁用中断)。可重入函数可以在任意时刻被中断,稍后再继续运行,不会丢失数据。可重入函数要么使用本地变量,要么在使用全局变量时保护自己的数据。

105 可重入函数:

不为连续的调用持有静态数据。

不返回指向静态数据的指针;所有数据都由函数的调用者提供。 使用本地数据,或者通过制作全局数据的本地拷贝来保护全局数据。 如果必须访问全局变量,记住利用互斥信号量来保护全局变量。 绝不调用任何不可重入函数。;

106.用最简单的方法实现函数int strcmp(char *p1,char *p2) int ret;

//while( *p1 && *p2 && !(ret=*p1-*p2) ) while(!(ret=*p1-*p2) && *p1 && *p2) {

p1++;p2++; } return ret;

int strcmp(const char * cs,const char * ct) {

register signed char __res;

while (1) {

if ((__res = *cs - *ct++) != 0 || !*cs++) break; }

return __res; }

107什么是预编译,何时需要预编译: 答案:

c语言经典笔试题(非常全)(9).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/592983.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)