(C语言)字符串函数strcpy和strlen的实现,以及简单的文字编程题(派大星看了都会写)

简介: (C语言)字符串函数strcpy和strlen的实现,以及简单的文字编程题(派大星看了都会写)

一、字符串库函数strcpy的实现


#include<stdio.h>
//#include<string.h>
#include<assert.h>
void my_strcpy(char* dest, char* src)
{
  assert (dest != NULL);//断言传进来的不会是空指针
  assert(src != NULL);
  while (*src != '\0')//设置循环条件,字符串最后会有个'\0'
  {
  *dest = *src;
  dest++;
  src++;
  }
  *dest = *src;//处理'\0',将'\0'也拷贝进去
}
//简写版
void my_strcpy(char* dest, char* src)
{
  assert(dest && src);
  while (*dest++ = *src)
  {
  ;
  }
}
int main()
{
  char arr1[20] = "xxxxxxxxxxxxx";
  char arr2[] = "hello";
  my_strcpy(arr1, arr2);
  printf("%s\n", arr1);
  return 0;
}


二、字符串库函数strlen的实现


#include<stdio.h>
//#include<string.h>
#include<assert.h>
int my_strlen (char *dest)//定义一个int 类型的函数
{
  int i=0;
  assert(dest!=NULL);
  while (*dest != '\0')//当指针向后运动没遇到'\0',i++
  {
  i++;
  dest++;
  }
  return i;//返回i
}
int main()
{
  char arr1[20] = "xxxxxxxxxxxxx";
  int i=0;
  i = my_strlen(arr1);//定义一个i去接收返回值
  printf("%d\n", i);
  return 0;
}


三、简单的文字编程题


日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。

以下为4个嫌疑犯的供词:

A说:不是我。

B说:是C。

C说:是D。

D说:C在胡说

已知3个人说了真话,1个人说的是假话。

现在请根据这些信息,写一个程序来确定到底谁是凶手

#include<stdio.h>
int main()
{
  int killer = 0;
  for (killer = 'a'; killer <= 'd'; killer++)
  {//利用了判断语句对就为1,错就为0的特点,加上字符所对应的ASCLL码值是连续的
  if ((killer != 'a') + (killer == 'c') + (killer == 'd') + (killer != 'd') == 3)
  {
    printf("%c\n", killer);
  }
  }
  return 0;
}
相关文章
|
11天前
|
网络协议 程序员 编译器
C语言:编程世界的基础与魅力
C语言:编程世界的基础与魅力
|
11天前
|
编译器 C语言 C++
C语言,C++编程软件比较(推荐的编程软件)
C语言,C++编程软件比较(推荐的编程软件)
|
3天前
|
编解码 算法 数据可视化
【C 言专栏】运用 C 语言进行图形编程
【5月更文挑战第3天】本文探讨了C语言在图形编程中的应用,介绍了基础概念和常用图形库如OpenGL和SDL。通过初始化环境、绘制图形、处理用户输入及更新显示等步骤,阐述了图形编程过程。同时,文章提到了性能优化、兼容性处理和复杂图形绘制的挑战,以及通过实际游戏案例分析应用。随着技术发展,C语言图形编程在跨平台和移动设备上的前景广阔,鼓励读者深入学习和创新。
【C 言专栏】运用 C 语言进行图形编程
|
10天前
|
安全 C语言
【C语言】strcpy与strncpy函数的使用和模拟实现
【C语言】strcpy与strncpy函数的使用和模拟实现
5 0
|
11天前
|
C语言
C语言:字符函数和字符串函数(strlen strcat strcmp strncmp等函数和模拟实现)
C语言:字符函数和字符串函数(strlen strcat strcmp strncmp等函数和模拟实现)
|
14天前
|
C语言
C 语言解 常见编程题(下)
C 语言解 常见编程题
43 0
|
14天前
|
C语言
C 语言解 常见编程题(上)
C 语言解 常见编程题
45 0
|
26天前
|
程序员 C语言 开发者
C语言库函数 — 字符串函数(含模拟实现字符串函数)
C语言库函数 — 字符串函数(含模拟实现字符串函数)
36 0
|
26天前
|
存储 Java C语言
从C语言的面向过程编程过渡理解面向对象编程风格
从C语言的面向过程编程过渡理解面向对象编程风格
10 0
|
27天前
|
算法 C语言
字符串函数-C语言
字符串函数-C语言