保存为字符串元素,然后打印字符串出错原因

要把变量保存为字符串数组中的元素,一定要转换成二进制的形式,因为字符串数组中的元素是以二进制形式保存的。

示例代码如下:

unsigned char tempt[10];

unsigned int a = 325;//32.5*10后的结果

tempt[0] = ‘W’;

tempt[1] = ‘E’;

tempt[2] = ‘N’;

tempt[3] = ‘D’;

tempt[4] = ‘U’;

tempt[5] = a/100;

tempt[6] = a/10%10;

tempt[7] = ‘.’;

tempt[8] = xs=a%10;

tempt[9] = ‘\0’;

printf(“tempt is: %s\n”,tempt);

//打印结果”WENDU . “tempt[5] 、tempt[6] 、 tempt[8]都会无法显示。

原因:字符数组中的元素是以二进制的形式保存的,所以要保把元素保存进字符串数组中去的时候,切记要转换成为二进制的。

把上面代码的

tempt[5] = a/100;

tempt[6] = a/10%10;

tempt[8] = xs=a%10;

改为

tempt[5] = a/100+0x30;

tempt[6] = a/10%10+0x30;

tempt[8] = xs=a%10+0x30;

或者改为

tempt[5] = a/100+’0’;

tempt[6] = a/10%10+’0’;

tempt[8] = xs=a%10+’0’;

打印结果就可以正常显示“WENDU32.5”

“`

时间: 2024-10-20 17:37:17

保存为字符串元素,然后打印字符串出错原因的相关文章

描述了say_hello函数的具体内容,调用zend_printf系统函数在php中打印字符串

下载一个php的源代码包,这里使用的是php 4.0.5版,解压后会看到php的根目录下会有README.EXT_SKEL这样一个文件,打开详细阅读了一下,发现了一个非常好用的工具,这个工具可以帮你构建一个空的php扩展,然后你向里面添加相应的代码就可以完成你自己的功能扩展了.下面我们就来介绍如何使用这个工具. 首先转移你的目录到php的目录下的ext目录,如果你只需要一个基本的扩展框架的话,执行下面的命令: ./ext_skel --extname=module_name module_nam

python3 isinstance()判断元素是否是字符串、int型、float型

python3 isinstance()判断元素是否是字符串.int型.float型 isinstance是Python中的一个内建函数 语法: isinstance(object, classinfo) 如果参数object是classinfo的实例,或者object是classinfo类的子类的一个实例, 返回True.如果object不是一个给定类型的的对象, 则返回结果总是False. 如果classinfo不表示一个类(类型对象), 那么它要么是一个类的元组, 或者递归地包含这样的(由

Substring with Concatenation of All Words, 返回字符串中包含字符串数组所有字符串元素连接而成的字串的位置

问题描述:给定一个字符数组words,和字符串s,返回字符数组中所有字符元素组成的子串在字符串中的位置,要求所有的字符串数组里的元素只在字符串s中存在一次. 算法分析:这道题和strStr很类似.只不过strStr是子串,而这个题是字符串数组里的元素组成的子串,字符串数组里的元素是无序的,但是必须全部包含.所有考虑使用map集合.关键点在于几个临界值,字符串元素在s中重复了怎么做,找到一个符合的子串后怎么做,有字符串元素不匹配怎做. import java.util.ArrayList; imp

将字符串倒着打印出来demo

/* * 将输入的字符串倒着打印出来 * 思路:1.键盘输入字符串 * 2.将字符串转变成字符数组 * 3.将数组倒着打印出来 * char[] toCharArray() 将此字符串转换为一个新的字符数组. */ package cn.StringBuffer; import java.util.Scanner; public class StringFanXie { public static void main(String[] args) { Scanner sc = new Scann

集合框架(去除ArrayList集合中的重复字符串元素案例2)

package cn.itcast_04; import java.util.ArrayList; import java.util.Iterator; /* * 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同) * 要求:不能创建新的集合,就在以前的集合上做. */ public class ArrayListDemo2 { public static void main(String[] args) { // 创建集合对象 ArrayList array = new Ar

Java基础知识强化之集合框架笔记27:ArrayList集合练习之去除ArrayList集合中的重复字符串元素

1. 去除ArrayList集合中的重复字符串元素(字符串内容相同) 分析: (1)创建集合对象 (2)添加多个字符串元素(包含重复的) (3)创建新的集合 (4)遍历旧集合,获取得到每一个元素 (5)拿着个元素到新集合中去找,看有没有   有:不搭理它 没有:添加到新集合      (6)遍历新集合 2. 案例代码: 1 package cn.itcast_04; 2 3 import java.util.ArrayList; 4 import java.util.Iterator; 5 6

Java基础知识强化之集合框架笔记28:ArrayList集合练习之去除ArrayList集合中的重复字符串元素(升级)

1. 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同)     要求:不能创建新的集合,就在以前的集合上做. 2. 代码示例: 1 package cn.itcast_04; 2 3 import java.util.ArrayList; 4 import java.util.Iterator; 5 6 /* 7 * 需求:ArrayList去除集合中字符串的重复值(字符串的内容相同) 8 * 要求:不能创建新的集合,就在以前的集合上做. 9 */ 10 public cla

按照长度递减的方式打印 字符串 "BackSpace"

/** * 按照长度递减的方式打印 字符串 "BackSpace" * 打印格式如下: * BackSpace * BackSpac * ackSpace * BackSpa * ackSpac * ckSpace * ..... */ /** * 按照长度递减的方式打印 字符串 "BackSpace" * 打印格式如下: * BackSpace * BackSpac * ackSpace * BackSpa * ackSpac * ckSpace * .....

PHP implode() 函数 把数组元素组合为字符串

http://www.w3school.com.cn/php/func_string_implode.asp PHP implode() 函数 PHP String 函数 实例 把数组元素组合为字符串: <?php $arr = array('Hello','World!','I','love','Shanghai!'); echo implode(" ",$arr); ?> 运行实例 第一个参数为可选项,所以也可以这样调用. echo implode("&quo

实现sprintf--浮点数打印字符串

亲爱的程序猿们,你们肯定都用过printf吧?你们知道,看起来理所当然的简单的printf,实际上是个难倒众多计算机科学家的难题吗?直到1971年,才有我们的毒师Mr.White科学家(Jon White)解决这个问题,直到1990年,我们的Mr.White才正式发表这算法的最终版本,Dragon4, 在随后到最近的几十年来,语言上的各种浮点数打印字符串都是用Dragon4算法,其他人的研究都只是对这个算法修修补补,直到Grisu算法的出现.Grisu算法由Florian Loitsch发表,6