从一道题引出的,题目已知答案。实验截图如下(借鉴CSDN博客)。求解释一些困惑for 内的计算方法 ( 等价于 n = n * 10 + i 吗?)CSDN博客提出的第一个方法,即”项目—>属性—>配置属性—>调试—>命令参数,在命令参数中输入,每个参数之间用空格隔开“,试验多次发现无效,不过讲道理应该是对的。如果是对的,求原理。(即命令行参数的编写?)【注:已参考过N个这类 https://zhidao.baidu.com/question/295883003.html 不必再贴过来了(lll¬ω¬)】
1 回答
onemoo
TA贡献883条经验 获得超454个赞
for 内的计算方法 ( 等价于 n = n * 10 + i 吗?)
你是想问 n = n * 10 + *argv[i] - '0' 等价于 n = n * 10 + i 吗? 这当然是不等价的啊!
图片中的方法: *argv[i] 取第 i 个参数的第一个字符(因为每个参数都是被当作字符串的),和 '0' 做减法得到这个数字的数值(也就是每个参数的第一位上的数)。这样 n = n * 10 + 数值 就可以把这个数放到相应的位上,循环构造最终的结果。
而 n = n * 10 + i,这样 i 不就成了从 1 循环到“参数个数”了吗? 最终 n 的值就和各个参数的内容无关了呀,只会构造出 123... 这样的结果。
CSDN博客提出的第一个方法,即......
如何在 IDE 中运行时输入相关的参数是 IDE 设置的事,我不太清楚 VS 该如何设置这些。
不过你可以按照图片中所说,不用 IDE 而是直接在命令提示符窗口中试试。
- 1 回答
- 0 关注
- 1092 浏览
添加回答
举报
0/150
提交
取消