西安邮电大学TW实验室面试题解析{html基础+宏+字符串+sizeof+strlen}

假装认真分析面试题

在这里插入图片描述
TW面试题目 2019

题目(三个图片)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
为什么这个截图这么的不清晰?

解析

第一题

'\0'代表的是字符串中的终止符,当读到'\0'时停止

拓展:

'\n'

第二题

void main()
{
    char a[666];
    printf("%d",strlen(a));
    return 0;
}
//我很好奇这种代码是怎么写的
//用int定义主函数来返回状态值多好啊
//而且什么库都没有
//warings还是蛮多的

更加标准一点:

#include <stdio.h>
#include <string.h>
#define L(a) (int)(sizeof(a)/sizeof( 0[a]))
int main()
{
  char a[666];
  printf("%u %d", (int)(strlen(a)),L(a));
  return 0;
}
//没有warnings
//这种数组写法就说得更远了
//因为指针和数组是同中定义下的不同表现

strlen(char*)函数求的是字符串的实际长度
它从开始一直到第一个'\0'就停止,如果你只定义没有给它赋初值,
这个结果是不定的,它会从a首地址一直找下去,直到遇到'\0'停止
因为我的编译器的缘故,编译器给了第一位'\0'
故长度是0
那么根据这个方法可以完美的出上面的第一题的的长度是2

跟sizeof区别开

strlen:是函数库里的函数,需加载string.hC cstringC++
返回类型是unsigned long long可翻遍头文件
只有这些:size_t __cdecl strlen(const char *_Str);
论坛上说估计只有原作者才知道自己写了些什么…
翻得我是头昏脑胀

sizeof:这是关键字哟,关键字哟,哟~~
这个返回的内存字节数哟~~
可以对变量类型甚至函数也可以使用哟~

说到宏定义
叫批量处理
批量处理? -> .bat文件? -> @echo off? -> g++? -> cmd?(windos)
#define 标识符 替换列表
#define L(a) sizeof(a)/sizeof([0] a)
定义常量,设置转换,将长长的语句简短,同时提高可读性
既不运算,只是替换.
例如:

// #define [name] 表达式
#define Handsome_Boy_CBW true
#define He_is_so_handsome &&
#define That_he_is_not_confidence true

第三题

冯诺依曼体系是什么?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值