C三道题(六)
来源:互联网 发布:淘宝网怎么找人工客服 编辑:程序博客网 时间:2024/06/07 04:09
1、(1)分析程序, 写出输出结果?
char *ptr; if ((ptr = (char *)malloc(0)) == NULL) //malloc有默认申请最小值,结果不为空,判断结果为假。 puts("Got a null pointer"); else puts("Got a valid pointer"); //输出。
(2) 分析程序, 写出输出结果?
char * GetStr() { char *tmp; //该变量在子函数中申请,子函数结束时销毁。 tmp = "123" return tmp; //返回了一个地址,在子函数中该地址存储的是字符‘1’,函数结束后可能被其他程序更改 } void main() { printf("%s.\n", GetStr()); //输出应为随机值,可能是123。 }
2、输入一个正整数,输出原数并逆序打印出各位数字。
//例如:原数:123456 逆序:654321
//逆序函数原型:int invers_int(int x)(需要用到递归实现)
#include <stdio.h>int invers_int(int x);void main (void){ int a = 0; scanf("%d", &a); printf("原数:%d 逆数:", a); invers_int(a); printf("\n"); return;}int invers_int(int x){ printf("%d", x%10); x /= 10; if (x == 0) return 0; else return invers_int(x);}
3、按以下规律翻译密码:将每一个字母变成它后面的字母,例如,将A变成B,B变成C,…,Z变成A,非字母字符不变,“!”作为电文结束标志。
#include <stdio.h>#include <string.h>void main (void){ char *p = "ABCXYZ!"; int i = 0; for (i=0; i<strlen(p); i++) { if (p[i]>='A' && p[i]<'Z') { printf ("%c", p[i]+1); } else if (p[i] == '!') { printf ("!\n"); return; } else if (p[i] == 'Z') printf ("A"); else printf ("%c", p[i]); }}
阅读全文
0 0
- C三道题(六)
- C语言(六)
- Unix C (六)
- C练习(六)
- 《Effective C++》(六)
- C语言库函数(六)
- C核心技术手册(六)
- C++Primer读书笔记(六)
- C++primer笔记(六)
- 《Essential C++》读书笔记(六)
- C专家编程(六)
- 标准C程序设计(六)
- C语言笔记(六)
- 《c和指针》(六)
- C语言(六)--数组
- c语言基础(六)
- Eclipse for C/C++(六)调试
- C/C++面试题六(经典)
- 小程序12.20
- Markdown指南
- java开发模式之原型模式
- chrome-DevTools调试nodejs
- 浅谈拒绝服务攻击的原理与防御(1):普通拒绝服务攻击
- C三道题(六)
- LeetCode 101. Symmetric Tree
- 5、自动化用户界面测试
- 指针的大小
- oracle创建用户和表空间
- 不说再见,感谢有你!
- 有关html+css+JavaScript的讲解
- slf4j+log4j2基础教程(拿来即用教程)
- 基因数据处理63之snap修改默认设置后处理大于400bp的记录