c primer plus 11 复习题
9、
#include <stdio.h> char *s_gets(char *st, int n); int main(void) { char st1[100]; s_gets(st1, 100); puts(st1); return 0; } char *s_gets(char *st, int n) { char *ret_val; ret_val = fgets(st, n, stdin); if(ret_val) { while(*st != '\n' && *st != '\0') st++; if(*st == '\n') *st = '\0'; else while(getchar() != '\n') continue; } return ret_val; }
10、
#include <stdio.h> int strlen2(char *ar); int main(void) { char st1[100] = "3sdfad"; int n; n = strlen2(st1); printf("n: %d.\n", n); return 0; } int strlen2(char * ar) { int count = 0; while(*ar) { count++; ar++; } return count; }
11、
#include <stdio.h> #include <string.h> #define SIZE 100 char *s_gets(char *st, int n); int main(void) { char st1[SIZE]; puts("input the strings."); s_gets(st1, SIZE); puts(st1); return 0; } char *s_gets(char *st, int n) { char *ret_val; int i = 0; char * find; ret_val = fgets(st, n, stdin); if(ret_val) { find = strchr(st, '\n'); if(find) *find = '\0'; else while(getchar() != '\n') continue; } return ret_val; }
12、
#include <stdio.h> char * null(char * ar); int main(void) { char st1[100] = "a f ds"; char st2[100] = "af ds"; char * temp1, * temp2; temp1 = null(st1); puts(temp1); temp2 = null(st2); puts(temp2); return 0; } char * null(char * ar) { while(*ar != ' ') ar++; if(*ar == ' ') return ar; else return NULL; }
13、
#include <stdio.h> #include <string.h> #include <ctype.h> #define ANSWER "GRANT" #define SIZE 90 char *s_gets(char *st, int n); void ToUpper(char *ar); int main(void) { char try[SIZE]; puts("input try:"); s_gets(try, SIZE); ToUpper(try); while(strcmp(try, ANSWER)) { puts("wrong, try again."); s_gets(try, SIZE); ToUpper(try); } puts("right!"); return 0; } char *s_gets(char *st, int n) { char *ret_val; int i = 0; ret_val = fgets(st, n, stdin); if(ret_val) { while(st[i] != '\n' && st[i] != '\0') i++; if(st[i] == '\n') st[i] = '\0'; else while(getchar() != '\n') continue; } return ret_val; } void ToUpper(char * ar) { while(*ar != '\0') { *ar = toupper(*ar); ar++; } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律