【发布时间】:2011-09-22 02:29:37
【问题描述】:
我要找的是数字“a”一个两位数的奇数。如果
#include <stdio.h>
main ()
{
int a,k;
int count=0;
printf ("input number \n", a);
scanf ("%d", &a);
k = a % 2;
while (a)
{
a /= 10;
count ++;
}
if (k = 1 && count = 2)
printf ("It is \n");
else
printf ("It is not \n");
return (0);
}
【问题讨论】:
-
不是 "lvalue required as left operand of assignment " error 的完全相同的副本,而是相同的第一天 CS-101 问题。
-
@Nick:在当前情况下,将要比较的文字作为左值可能是个好主意,即使用
if ( 1 == k )而不是if ( k == 1 ),以防万一你错过输出一个“=”你会得到一个编译时错误。 -
作为开始的习惯,始终使用正确的
main签名。应该是int main(void)或int main(int argc, char* argv[])或其他。 -
@another.anon.coward 或者,更好的是,只需使用
-Wall和-Werror标志进行编译,这两种语句都会产生编译错误。