我正在使用scanf
从文件中获取变量的值。它应该继续从文件中读取,直到遇到%
。如何比较%
如何处理带有%d格式说明符的字符?
scanf("%d",&a);
if (a=='$') terminate ; ??
它不工作,可以采取什么问题解决?
我正在使用scanf
从文件中获取变量的值。它应该继续从文件中读取,直到遇到%
。如何比较%
如何处理带有%d格式说明符的字符?
scanf("%d",&a);
if (a=='$') terminate ; ??
它不工作,可以采取什么问题解决?
你如果条件不与$
改变这种比较a
:
if (a =='$')
编辑
做同样比较%
if(a=='%')
你不能。 %d
将不会转换%
或$
。换句话说,它不会放任何东西(更不用说你应该通过&a
)。当转换失败时,它将留在stdin
上,所以你仍然可以随后阅读它。
要知道转换是否成功,请检查scanf()
的返回值。它返回成功的cnversions的数量。
if (1 != scanf("%d", &a)) {
char c = 0;
scanf(" %c", &c);
if (c == '%' || c == '$') {
/* done */
}
}
尝试它作为一个==“$”或储值其中U在整数阅读和检查
你尝试过''==?还有'a ==%'。 – 2013-02-21 05:01:20