IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 2019西邮linux小组面试题补录 -> 正文阅读

[系统运维]2019西邮linux小组面试题补录

1.第一题是一个输入判断,其中使用到了ASCLL码,和地址有关的东西

#include<stdio.h>
#include<string.h>
struct A{
	long a;
	int b;
};
int main(){
	struct A num ={0x6e694c756f796978};
	char ch='0';
	for(int i=0;ch;i++){
		ch=*((char *)&num+i);
		printf("%c",ch);

	}
	printf("\n");
	return 0;
}

我进行了一个修改,用来判断会不会反向(类似今年的题。。。)结果没有,那就说明是正常的正序输入 ,输入的是字符的ASClL码

2.改写程序,在不改变const的情况下使用更多的方法改变b

#include<stdio.h>
int main(){
	const int b=10;
	/*
	*/
	return 0;
}

#include <stdio.h>
 
int main()
{
    const int a = 10;
     int *p =(int *) &a;
    (*p)++;
    printf("%d\n", a);
    return 0;
}

指针本身是常量的话是不可以被修改的,指针指向的内容是常量也是不可以被修改的。

那么我可以给其地址的地址进行改变,这里要注意把a的地址赋给指针时要进行类型转化,不然会报错。

即可能会说初始化丢失了指针目标类型的限定

3.?

struct node {
*(int*)((char*)a+2*sizeof(structn))=100;
};

struct n{
char  a;
int b;
};

intmain(intargc,char*argv[]){
struct node a[2]={{1,2,3},{4,5,6}};
*(int *)((char *)a+2*sizeof(struct n))=100;
return 0;
}

程序拥有两个结构体变量,?? ?struct node a[2] = {{1,2,3},{4,5,6}};这一句是定义了一个结构体数组,在下一句中生成了48个字节的空间,然后对三十二位以后的a进行修改,使其改变,所以

a中的最后一位发生改变,即变成了{{1,2,3},{4,5,100}}

4.j解释函数调用的问题

#include<stdio.h>
#define f(a,b) a##b 
#define g(a) #a
 #define h(a) g(a) 
 int main(int argc, char* argv[]) {
  printf("%s\n", h(f(1,2)));
   printf("%s\n", g(f(1,2)));
    return 0;
	 }

这个程序重要的是开始定义的三个宏,即

?#define f(a,b) a##b?
#define g(a) #a
?#define h(a) g(a)?

在这里通过分析可以得到,第一个是将后期遇到的类似于f(a,b)这样形式的存在都改成为ab的形式,第二个是说定义一个g(A)这样的存在,只要遇到便将其中数据放出,最后定义了g(a),h(a)两个函数。也是可以得到,在第一个输出时,外部不是g(a)所以将里面的输出,同时因为##的存在,所以将其中所有的符号删除,只输出12,第二个printf里面为第一个相同的情况,但外部为g(x)所以会进行一个修改,按照格式输出所以得到f(1,2)

5.

. lala 和 nini 是好朋友。有一天 lala 获得了 n 个质量不同的蛋糕,lala 想和 nini 一起分
享,让两个人都吃到相同质量的蛋糕。但是有强迫症的 lala 不想破坏每块蛋糕的完整
性,请编写程序判断这 n 个蛋糕是否符合 lala 的要求。
这个题可以先对其进行排序,时期从小到大排序,然后只需要对其中的元素进行部分的求和,在使用函数的情况下,可以对其进行多轮的求和,在其中出现总质量一半的情况时便可以退出循环。进行输出,当然也可以设定一个变量,在判断成立的时候进行累加,这样就可以根据变量的大小判断是否出现我所需要的情况。
6.
编写函数实现以下功能:
输入: 一行字符串
输出:逆序输出字符串中的单词,不保留开头与结尾的空格,相邻单词间仅保留一个
空格
样例( ? 代表空格):
输入
???? Hello ?? everyone, ? we ? are ? xiyouLinuxer ?
输出
xiyouLinuxer ? are ? we ? everyone, ? Hello
#include <stdio.h>
#include<string.h>

void reserveworld(char* str,int s,int e) {
	while (s < e) {
		char c = str[s];
		str[s] = str[e];
		str[e] = c;
		s++;
		e--;
	}
}


void reserve(char *str,int n) {
	int t = 0;  
	for (int i = 0; i <= n; i++) {
		if (str[i] == ' ' || str[i] == '\0') {
			reserveworld(str, t, i - 1);
			t = i + 1;
		}
	}
}

int main() {
	char str[100] = "";
	gets(str);
	reserveworld(str, 0, strlen(str)-1);	
	reserve(str, strlen(str));	
	printf("%s", str);

	return 0;	
}

?

?

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-11-28 11:39:26  更:2021-11-28 11:41:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 2:55:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码