当前位置: 首页 > news >正文

The C programming language (second edition,KR) exercise(CHAPTER 7)

      E x c e r c i s e 7 − 1 Excercise\quad 7-1 Excercise71

#include <stdio.h>
#include <string.h>
#include <ctype.h>enum type { LOWER, UPPER };int main(int argc, char *argv[])
{int c, mode = -1;if (stricmp(*argv, "lower.exe") == 0) {printf("To lower\n");mode = LOWER;		}else if (stricmp(*argv, "upper.exe") == 0) {printf("To upper\n");mode = UPPER;	}		if (mode == LOWER){while ((c = getchar()) != EOF)putchar(tolower(c));		}else if (mode == UPPER){while ((c = getchar()) != EOF)putchar(toupper(c));		}return 0;
}

      E x c e r c i s e 7 − 2 Excercise\quad 7-2 Excercise72

#include <stdio.h>
#include <ctype.h>/* "%x" for hex, "%o" for octal */ 
#define FORMAT "%x" 
#define LINELEN 75int main()
{int c, i = 0;while ((c = getchar()) != EOF){/* reset line length counter */ if (c == '\n') i = 0;/* check if equal to line length. If so, print new line and reset counter */ 	else if (++i == LINELEN) {i = 0;putchar('\n');}/* graphic characters and spaces */ if (isgraph(c) || isspace(c)) {putchar(c);			}else{/* non-graphic characters */printf(FORMAT, c);  			}}return 0;
}

      E x c e r c i s e 7 − 3 Excercise\quad 7-3 Excercise73

#include <stdio.h>
#include <stdarg.h>void minprintf(char *fmt, ...);int main()
{char *sval = "10";int ival = 11;double dval = 12.13;unsigned int uival = 14;char cval = 'F';void *pval = sval;minprintf("%%s=%s, %%d=%d, %%i=%i, %%f=%f, %%e=%e, %%E=%E, %%g=%g, %%G=%G, %%o=%o, %%x=%x\n", sval, ival, ival, dval, dval, dval, dval, dval, uival, uival);printf("%%s=%s, %%d=%d, %%i=%i, %%f=%f, %%e=%e, %%E=%E, %%g=%g, %%G=%G, %%o=%o, %%x=%x\n", sval, ival, ival, dval, dval, dval, dval, dval, uival, uival);minprintf("%%X=%X, %%u=%u, %%c=%c, %%p=%p, %%%%=%%\n", uival, uival, cval, pval);printf("%%X=%X, %%u=%u, %%c=%c, %%p=%p, %%%%=%%\n", uival, uival, cval, pval);
}/* minimal printf with variable argument list */ 
void minprintf(char *fmt, ...)
{/* points to each unnamed arg in turn */ va_list ap; char *p, *sval, format[3] = { '%', '\0', '\0' };int ival;double dval;unsigned int uival;void *pval;/* make ap point to 1st unnamed arg */ va_start(ap, fmt); for (p = fmt; *p; p++){if (*p != '%'){putchar(*p);continue;}switch (*++p){case 'd': case 'i': case 'c': /* char is promoted to int when passed through '...' */ ival = va_arg(ap, int);format[1] = *p;printf(format, ival);break;case 'f': case 'e': case 'E': case 'g': case 'G':dval = va_arg(ap, double);format[1] = *p;printf(format, dval);break;case 's':for (sval = va_arg(ap, char *); *sval; sval++)putchar(*sval);break;case 'x': case 'X': case 'o':  case 'u':uival = va_arg(ap,<

相关文章:

  • 苹果手机清理软件:让你的iPhone保持最佳状态
  • JavaScript前端面试题——fetch
  • 上海冷链配送新篇章 华鼎冷链科技以卓越服务餐饮品牌
  • 技术汇总笔记7:switch 嵌套用法 和 改进 (条件分支相关内容)
  • Excel文件处理excel内容
  • FastAPI技巧
  • HTML-03.新浪新闻-标题-样式2
  • Arco Design 之Table表格
  • 【医学影像】无痛安装mamba
  • 字节实习面试
  • 【Qt】如何搭建Qt开发环境
  • C# Deconstruct详解
  • 安卓App开发 篇一:从零开始构建第一个Android应用
  • Java 抽象知识笔记总结(油管)
  • C++:模板初阶与STL简介
  • [LeetCode] Wiggle Sort
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • CSS 专业技巧
  • ES6 学习笔记(一)let,const和解构赋值
  • Javascript Math对象和Date对象常用方法详解
  • Laravel 中的一个后期静态绑定
  • maven工程打包jar以及java jar命令的classpath使用
  • MobX
  • ng6--错误信息小结(持续更新)
  • React-生命周期杂记
  • SAP云平台里Global Account和Sub Account的关系
  • windows-nginx-https-本地配置
  • 初识MongoDB分片
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 如何设计一个微型分布式架构?
  • 使用putty远程连接linux
  • 数组大概知多少
  • 一加3T解锁OEM、刷入TWRP、第三方ROM以及ROOT
  • scrapy中间件源码分析及常用中间件大全
  • 阿里云ACE认证之理解CDN技术
  • 阿里云移动端播放器高级功能介绍
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • # SpringBoot 如何让指定的Bean先加载
  • #stm32整理(一)flash读写
  • (C)一些题4
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (ZT)一个美国文科博士的YardLife
  • (回溯) LeetCode 40. 组合总和II
  • (回溯) LeetCode 78. 子集
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (四)汇编语言——简单程序
  • (一)使用Mybatis实现在student数据库中插入一个学生信息
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • ... 是什么 ?... 有什么用处?
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .Net Core和.Net Standard直观理解
  • .NET CORE使用Redis分布式锁续命(续期)问题
  • .NET 解决重复提交问题
  • .net 前台table如何加一列下拉框_如何用Word编辑参考文献