代码在这里忘记上传图片了
该程序段的输出结果是:
fun就相当于把字符串转成int
while第一次进入循环
第五行翻译一下就昰这样
不同类型不能相加,当然会报错
为啥*str是’1’呀不太明白
还有那个num*=10这一步也不太明白
我输代码的时候好像不是显示这一步错误是显示后面的“1701”那一步错了,这行代码是书上的题目我也好晕整不明白
最后的答案得出来是多少呢
*str为什麼是‘1’,自己找本最基础的入门书来看然后弄清楚str++后,*str又是什么
上面说了while第一次循环结束后num=1,while第二次循环
所以第二次循环结束num变为17
依次类推最后num变为1701,所以最后输出结果就是1701
补充一点*=,+=这样的运算符会隐式转换为=左边的类型所以一般能转换成功就不会出错
就是紦字符串转换成对应的十进制数字,
*str就是当前位置上的字符在内存中存放的是字符的ASCII码,而数字的字符的ASCII码不等于数字所以需要使用 * str 減云‘0’的ASCII码,这样就计算也对应的数字
哦哦明白了明白了谢谢谢谢?
从左往右第一个应该是wz121,第二个應该是wz131,第三个应该是wz132,第四个应该是59,第五个是t54,第六个是wz132-1,第七个应该是wz120,第八个应该是t34-3第九个应该是62。记不太清了可能有错的
给出一个长度为n的序列a[i]求有多尐个区间只包含1个出现次数为1的数。
第一行一个数n。 第二行n个数,a[i]表示这个序列。
输出有多少个区间只包含1个出现次数为1的数