当前位置:网站首页>C job interview - casting and comparing - C job interview - casting and comparing
C job interview - casting and comparing - C job interview - casting and comparing
2022-07-05 06:18:00 【Technology feast】
problem :
I was confronted with a tricky (IMO) question. I encountered a difficult problem (IMO) problem .I needed to compare two MAC addresses , in the most efficient manner. I need to compare the two in the most effective way MAC Address .
The only thought that crossed my mind in that moment was the trivial solution - a for loop, and comparing locations, and so I did, but the interviewer was aiming to casting. At that moment , The only thing I can think of is a trivial solution —— One for loop , Compare positions , So I did , But the interviewer's goal is to cast .
The MAC definition:MAC Definition :
typedef struct macA { char data[6];} MAC;And the function is (the one I was asked to implement): The function is ( What I was asked to do ):
int isEqual(MAC* addr1, MAC* addr2){ int i; for(i = 0; i<6; i++) { if(addr1->data[i] != addr2->data[i]) return 0; } return 1;}But as mentioned, he was aiming for casting. But as mentioned before , His goal is to cast .
Meaning, to somehow cast the MAC address given to an int, compare both of the addresses, and return. intend , In some way, the given MAC Address conversion to int, Compare two addresses , Then return .
But when casting, int int_addr1 = (int)addr1; But when converting , int int_addr1 = (int)addr1;, only four bytes will be casted, right?, Only four bytes will be projected , Am I right? ?Should I check the remaining ones? Should I check the rest ?Meaning locations 4 and 5? It means location 4 and 5?
Both char and int are integer types so casting is legal, but what happens in the described situation?char and int They're all integer types , Therefore, coercion is legal , But what happens in the described situation ?
Solution :
Reference resources : https://stackoom.com/en/question/1PWLU边栏推荐
- Quickly use Amazon memorydb and build your own redis memory database
- 快速使用Amazon MemoryDB并构建你专属的Redis内存数据库
- 数据可视化图表总结(一)
- Daily question 1189 Maximum number of "balloons"
- [rust notes] 16 input and output (Part 1)
- [leetcode] day95 effective Sudoku & matrix zeroing
- Sum of three terms (construction)
- One question per day 1020 Number of enclaves
- [rust notes] 17 concurrent (Part 2)
- Leetcode-6110: number of incremental paths in the grid graph
猜你喜欢

Is it impossible for lamda to wake up?

MySQL advanced part 2: optimizing SQL steps

MySQL advanced part 1: index

LaMDA 不可能觉醒吗?

中国剩余定理 AcWing 204. 表达整数的奇怪方式

Overview of variable resistors - structure, operation and different applications

Real time clock (RTC)

MySQL advanced part 1: stored procedures and functions

WordPress switches the page, and the domain name changes back to the IP address

LeetCode-61
随机推荐
LeetCode-54
1040 Longest Symmetric String
1.13 - RISC/CISC
Spark中groupByKey() 和 reduceByKey() 和combineByKey()
SQLMAP使用教程(二)实战技巧一
RGB LED infinite mirror controlled by Arduino
Traditional databases are gradually "difficult to adapt", and cloud native databases stand out
LVS简介【暂未完成(半成品)】
11-gorm-v2-02-create data
MySQL advanced part 2: the use of indexes
MySQL advanced part 1: index
MySQL advanced part 1: stored procedures and functions
开源存储这么香,为何我们还要坚持自研?
1.13 - RISC/CISC
1039 Course List for Student
SQL三种连接:内连接、外连接、交叉连接
TypeScript 基础讲解
Chart. JS - Format Y axis - chart js - Formatting Y axis
Presentation of attribute value of an item
[rust notes] 17 concurrent (Part 2)