【发布时间】:2014-03-31 23:15:06
【问题描述】:
我对 C 还是很陌生,因为我正在尝试更多地理解它。
今天我将 char 数组中的内容片段与数字进行比较(参见下面的示例),除非我使用它们各自的 ASCII 码,否则它似乎不起作用,所以我的问题是:
是否有另一种方法可以将 char 数组的内容与数字(例如将数字设为局部变量除外)进行比较?
输入 = 1
char test [10]; scanf("%s", test); if (test[0] == 1) { puts("True"); }
虽然这个确实有效
char test [10];
scanf("%s", test);
if (test[0] == 49) {
puts("True");
}
提前致谢!
【问题讨论】:
-
你可以说,如果 (test[0] == '1')
-
啊该死的这么简单,我已经习惯了只使用双引号的Java...非常感谢!
-
所以,输入是“1”,而不是“\1”。 C 无法知道您想要一个 char 文字而不是您提供的完全有效的数字。
-
甚至 java 也有 char 字面量,使用与 C 相同的语法。