C语言 | 编译报错(20230719-01

C语言 | 编译报错(20230719-01):

strings/String.c:4557:51: warning: conversion from ‘unsigned int’ to ‘unsigned char’ changes value from ‘4294967248’ to ‘208’ [-Woverflow] 4557 | 0xFFFFFFD1, 0xFFFFFF89, 0xFFFFFFD0, 0xFFFFFFB5, 0xFFFFFFD0, 0xFFFFFFBD, 0xFFFFFFD0, 0xFFFFFFB0,

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7614040
  • 你也可以参考下这篇文章:C语言经典编程282例08
  • 除此之外, 这篇博客: C程序设计 01-03 C语言基础中的 数制 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 对于一个 10 进制整型 int 数字,12 转化为二进制数字 0000 1100,八进制 0000 0014,十六进制:0x0C

    反码补码,正数的补码反码都是一样的,区别在与负数的补码,对一个负数求补码至于要取绝对值然后取反加 1 就可。

    例:-12 的补码是:1111 0100

    ASCII 的取值范围为什么是 0-127?

    因为为了提高代码的可移植性,无符号取值范围是 0 ~ 255,有符号的取值范围 -128 ~ +127,两个取值范围的交集就是 0 ~ 127,所以 ASCII 的取值范围正好在这个地方

  • 您还可以看一下 张景平老师的C语言零基础入门(计算机二级考试)课程中的 02-01 第一个C程序小节, 巩固相关知识点

类型不匹配,具体你贴下相关的代码看看