今个那老哥替我刷题,然后遇到一个打印中文编码得问题,我多嘴一问,为啥 用 unsiged 然后他让我换成char试试;然后出现了以下结果

#include <stdio.h>
#include <stdlib.h>
#include <string.h> #define N 101 int main(int argc, char *argv[]) {
unsigned char buf[N] = {};
printf("请输入一个字符串,长度小于等于100:");
fgets(buf, N, stdin);
printf("该字符串的内存编码为:");
int i = ;
for (i = ; buf[i]; i++) {
int c = buf[i];
printf("%x ", c);
}
return EXIT_SUCCESS;
} >>>>>>>>>>>>>>>结果如下
请输入一个字符串,长度小于等于100:abcABC012中国人
该字符串的内存编码为: d6 d0 b9 fa c8 cb

换用 char 结果如下#define N 101

int main(int argc, char *argv[]) {
char buf[N] = {};
printf("请输入一个字符串,长度小于等于100:");
fgets(buf, N, stdin);
int len = strlen(buf);
if (buf[len - ] == '\n') {
buf[len - ] = ;
}
printf("该字符串的内存编码为:");
int i = ;
for (i = ; buf[i]; i++) {
int c = buf[i];
printf("%x ", c);
}
return EXIT_SUCCESS;
} >>>>>>>>>>>>>>
请输入一个字符串,长度小于等于100:abcABC012中国人
该字符串的内存编码为: ffffffd6 ffffffd0 ffffffb9 fffffffa ffffffc8

》》》》》》下两行废话,直接第三行看。

于是我被补了一下导论课,他如此细腻的一个字节一个字节得讲解了过程,并反复确认我懂了,然后,,,,真刺激,如果没有他,我的c是不是就这样止步不前了。我的数据结构算法分析是不是就不看了

C语言中函数参数传入动态函数时,自动类型转换为int。此内容在书 137页第四行有说明。

原文如下“对于没有原型得函数,传递给函数的实参将作缺省参数提升:char short 转换为int float 转换为double类型”。



C语言第2的更多相关文章

  1. C语言 · 高精度加法

    问题描述 输入两个整数a和b,输出这两个整数的和.a和b都不超过100位. 算法描述 由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储.对于这种问题,一般使用数组来处理. 定义一个数组A ...

  2. Windows server 2012 添加中文语言包(英文转为中文)(离线)

    Windows server 2012 添加中文语言包(英文转为中文)(离线) 相关资料: 公司环境:亚马孙aws虚拟机 英文版Windows2012 中文SQL Server2012安装包,需要安装 ...

  3. iOS开发系列--Swift语言

    概述 Swift是苹果2014年推出的全新的编程语言,它继承了C语言.ObjC的特性,且克服了C语言的兼容性问题.Swift发展过程中不仅保留了ObjC很多语法特性,它也借鉴了多种现代化语言的特点,在 ...

  4. C语言 · Anagrams问题

    问题描述 Anagrams指的是具有如下特性的两个单词:在这两个单词当中,每一个英文字母(不区分大小写)所出现的次数都是相同的.例如,"Unclear"和"Nuclear ...

  5. C语言 · 字符转对比

    问题描述 给定两个仅由大写字母或小写字母组成的字符串(长度介于1到10之间),它们之间的关系是以下4中情况之一: 1:两个字符串长度不等.比如 Beijing 和 Hebei 2:两个字符串不仅长度相 ...

  6. JAVA语言中的修饰符

    JAVA语言中的修饰符 -----------------------------------------------01--------------------------------------- ...

  7. Atitit 项目语言的选择 java c#.net  php??

    Atitit 项目语言的选择 java c#.net  php?? 1.1. 编程语言与技术,应该使用开放式的目前流行的语言趋势1 1.2. 从个人职业生涯考虑,java优先1 1.3. 从项目实际来 ...

  8. 【开源】简单4步搞定QQ登录,无需什么代码功底【无语言界限】

    说17号发超简单的教程就17号,qq核审通过后就封装了这个,现在放出来~~ 这个是我封装的一个开源项目:https://github.com/dunitian/LoTQQLogin ————————— ...

  9. InstallShield 脚本语言学习笔记

    InstallShield脚本语言是类似C语言,利用InstallShield的向导或模板都可以生成基本的脚本程序框架,可以在此基础上按自己的意愿进行修改和添加.     一.基本语法规则      ...

  10. 用C语言封装OC对象(耐心阅读,非常重要)

    用C语言封装OC对象(耐心阅读,非常重要) 本文的主要内容来自这里 前言 做iOS开发的朋友,对OC肯定非常了解,那么大家有没有想过OC中NSInteger,NSObject,NSString这些对象 ...

随机推荐

  1. cairosvg使用过程中需要注意的问题

    在使用pygal的过程中,图片默认保存的是svg格式,如果需要生成本地的图片需要进行一些配置.下面是在摸索时的一些流程: 1.查看pygal的函数,dir(pygal.bar),发现其支持保存为png ...

  2. C缺陷与陷阱

    导读 词法"陷阱" 语法"陷阱" 语义"陷阱" 链接 库函数 预处理器 可移植性缺陷

  3. Eclipse Memory Analyzer(MAT),内存泄漏插件,安装使用一条龙

    网上文档很多,但最初都有问题.整理一份,作为备份.使用过程:开发代码写完后,对可能出现内存溢出的代码,添加配置文件,生成.hprof文件,用memory Analyzer分析排查问题,且泄漏内存大小可 ...

  4. Saiku ui-settings接口404错误避免(二十九)

    Saiku ui-settings接口404错误避免 自己手动编译的saiku ,不知道为什么前端总是报错   /saiku/rest/saiku/info/ui-settings  404NotFo ...

  5. Protractor - 怎样运行

    前一篇设置好了Protractor基本运行环境,那怎样运行Protractor呢? 要运行我们的测试脚本,至少需要配置好两个文件: ---Package.json ---conf.js Package ...

  6. C# - WinFrm应用程序调用SharpZipLib实现文件的压缩和解压缩

    前言 本篇主要记录:VS2019 WinFrm桌面应用程序调用SharpZipLib,实现文件的简单压缩和解压缩功能. SharpZipLib 开源地址戳这里. 准备工作 搭建WinFrm前台界面 添 ...

  7. oracle查找某个字符在字符串中的个数的技巧

    Oracle没有提供查找某个字符在字符串中出现次数的函数,当遇到这样的需求的时候,我们只能使用另外的方法去实现. 简单的思路就是,假设有个字符串str,然后里面有n个[a]字符,当把这n个[a]字符去 ...

  8. gRPC+gRPC Gateway+swagger小记

    前言 本文记录了grpc-gateway的简单使用. 定义proto 先来看看最常规的 syntax = "proto3"; package protos; service Gre ...

  9. Python制作动态二维码只需要一行代码!炒鸡简单!

    分享一个比较有意思的项目,只需要一行Python代码就可以快捷方便生成普通二维码.艺术二维码(黑白/彩色)和动态GIF二维码. 用法比较简单,直接通过pip安装即可. pip3 install myq ...

  10. python-execjs(调用js)

    一.安装 pip3 install PyExecJS 电脑上要有nodejs环境 二.使用 一.获取js字符串 首先将js保存至于本地文件或者你可以可以直接读到内存,必须让js以字符串的形式展示 注意 ...