C++ 什么是*测试++;=计数+';0';;做
下面是我正在使用的一些示例代码:C++ 什么是*测试++;=计数+';0';;做,c++,C++,下面是我正在使用的一些示例代码: #include <iostream> int main() { char string[] = "hello"; char *test = string; int count = 0; *test++ = count + '0'; count++; *test++ = count + '0'; std:: cout << test << std:: endl;
#include <iostream>
int main() {
char string[] = "hello";
char *test = string;
int count = 0;
*test++ = count + '0';
count++;
*test++ = count + '0';
std:: cout << test << std:: endl;
}
#包括
int main(){
字符字符串[]=“你好”;
char*test=string;
整数计数=0;
*测试++=计数+'0';
计数++;
*测试++=计数+'0';
std::cout查看ASCII字符表。字符“0”到“9”是连续的。将“0”添加到count
将count
(可能是数字0到9)转换为字符“0”到“9”
就*test++
而言,情况正好相反,test
首先被取消引用,然后被递增
总之,count
,一个介于0到9之间的数字,到字符“0”到“9”,将其分配给*test
,然后递增test
查看ASCII字符表。字符“0”到“9”是连续的。将“0”添加到count
将转换为count
,这可能是第0个数字粗略的9到字符“0”到“9”
就*test++
而言,情况正好相反,test
首先被取消引用,然后被递增
总之,count
,一个介于0到9之间的数字,到字符“0”到“9”,将其分配给*test
,然后递增test
char
存储字符的数字编码,因此count+'0'
只是两个数字的总和。实际上,数字0
,…,de>9通常具有连续编码,因此将数字转换为相应字符(编码)的快速方法是数字+0'
*p++
被解析为*(p++)
,是一个常见的成语,用于“获取p
指向的东西,然后前进p
”。因此*p++=x
将x
存储在p
最初指向的位置,然后p
指向下一个位置
(回想一下,z++
的值是在其递增之前存储在z
中的值,而不是递增之后的值)char
存储字符的数字编码,因此计数+0'
只是两个数字的总和。实际上,数字0
,…,9
往往具有连续的编码,因此快速将一个数字转换为(字符编码)是一种很好的方法对应的字符是数字+0'
*p++
被解析为*(p++)
,是一个常见的成语,用于“获取p
指向的东西,然后前进p
”。因此*p++=x
将x
存储在p
最初指向的位置,然后p
指向下一个位置
(回想一下,z++
的值是在其递增之前存储在z
中的值,而不是递增之后的值)