书法字典:https://www.shufadict.com

两个面试题-仅供娱乐,切勿模仿

代码包括两个题

1. 返回两个int型数中的较大者,不准用关系运算符,不准用if, while, for等语句

2. 一句代码求字符串长度

复制代码
代码
 1 #include <iostream>
 2 using namespace std ;
 3 
 4 // return the sign of a number, 0 for '+', 1 for '-'
 5 int signof(int num)
 6 {
 7     return unsigned(num) >> (sizeof(int* 8 - 1) ;
 8 }
 9 
10 // compare two numbers without using relational operators, return the max number
11 int MaxNum(int a, int b)
12 {
13     int p[2= {a, b} ;
14     return p[signof(a - b)] ;
15 }
16 
17 // one clause to return the length of a string
18 unsigned int StrLen(char *s)
19 {
20     return s == NULL || *== '\0' ? 0 : StrLen(s + 1+ 1 ;
21 }
22 
23 int main(void)
24 {
25     
26     cout << MaxNum(10-1<< endl ;
27 
28     char *= "hello world" ;
29     cout << StrLen(p) << endl ;
30 
31     system("pause") ;
32     return 0 ;
33 }
复制代码

 

其实第一题也可以用一句代码实现

1 int MaxNum(int a, int b)
2 {
3     return (a - b) >> (sizeof(int* 8 - 1? b : a ;
4 }
5 

 

 

但凡要求用一句代码实现的题目,基本上都用到三目运算符或者递归

 

 

posted on   翰墨小生  阅读(752)  评论(0编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述

导航

< 2010年3月 >
28 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 1 2 3
4 5 6 7 8 9 10
书法字典:https://www.shufadict.com
点击右上角即可分享
微信分享提示