3、忽略了“=”和“==”的区别
许多高级语言中,用“=”符号作为关系运算符“等于”。如BASIC程序中可以写if(a=3) then …… 但c语言中“=”是赋值运算符,“==”是关系运算符,如:
if(a=5) a=b;
if(a==5) a=b;
前者是进行赋值,将3赋给变量a,在判断a的值是真还是假,显然,a的值是5始终为真;而后者表示比较,即如果a和3相等,把b值赋给a。由于习惯问题,初学者往往会犯这样的错误。(经常在论坛上碰到这类问题,所以请新手在发帖前先检查一下自己是不是因为这个问题导致程序出错,以节约大家的时间。谢谢!)
记得XXXX年全国计算机等级考试有一道这种题,大概是(不记得了,随便编的,题意一样_)
#include <stdio.h>
int main() {
int a=1;
if(
a=1) {
printf("1");
}
else {
printf("2");
}
N多的人写错了