str[i] 数字强制转int型

2022-11-30 21:03:00 浏览数 (2)

str[i] 数字强制转int型 X=(int)(str[i]-48);程序标注“将x转换成int型。”我不明白为啥减掉48,str是char型数组! 因为ASC码48就是’0’,也就是说’0’的值是48,而后依次是’1’到’9’。

这样正好是char型减去48就是它对应的int值

不过这样写不好理解,直接写成str[i]-‘0’就好。 如果str里面存放的是数字字符的话就是转成其数值类型 比如说str[i]是’1’,其实ascii码值为0x31,而’0’的ascii码是0x30,用str[i]-'0’就得到了1

c语言中单引号是什么意思 单引号一个数,代表一个字符,如果单引号内是数值,那输出的结果是ASCII码中对应的字符; 双引号一个字符或几个字符,代表是一个字符串

双引号里面的是字符串 而单引号里面的代表字符 朋友 你可以这样理解 只要是在双引号里面的不代表任何表达式的意义 假如 int a=10 cout<<“a”; 这是用 双引号 它在屏幕上就是 a 而 int a=10 cout<<a; 这个a就代表表达式a=10在屏幕上是10 而int a=10 cout<<‘a’;将会是65 因为用单引号里面的代表字符 而字符要用ASCII码 表示 你在书中查 多努力啊

0 人点赞