为什么在C ++中不将char用作数字?

问题描述 投票:0回答:1

我用C语言编写了一个代码,运行得很好,我将其翻译为C ++。那里给出了错误的输出。我进行了一次迭代,将输入和迭代器变量都用作char以节省空间。但表现不如预期。

unsigned char repeat, i;  
cin >> repeat;
for(i= 0; i < repeat; i++)

等效行是什么

scanf("hhi", &repeat)

c++ c char numbers int
1个回答
0
投票

为什么在C ++中不将char当作数字?

因为C和C ++是不同的编程语言。

例如参见n3337,C ++标准草案,实际上等效于C++11标准。

一种编程语言是规格,通常写在某些文档中。其semanticssyntax一样重要。

如果使用最近的GCC变体编译C ++源代码,我建议将invoke用作g++ -Wall -Wextra -g,以启用许多警告和一些调试信息。

[还考虑使用某些static program analysis工具,例如Frama-CClang static analyzerCoverity等...

也请阅读How to debug small programs和有关Undefined behavior

也请参阅this site about C and C++并研究RefPerSys(我积极参与的一些“有趣的” C ++ free software项目,与AGI相关)。

至少出于启发目的,研究现有C ++ open source项目的源代码。立即想到Qtfish shell(但githubgitlab或其他位置上还有成千上万的其他字符,例如GhudiPPLFox toolkit)。您将通过为他们积极贡献而学到很多东西。

© www.soinside.com 2019 - 2024. All rights reserved.