修改成底下程式码即可
复制程式
int main(void)
{
int a;
printf("输入你信用卡前两码来测试是不是Visa的\n");
scanf("%d",&a);
if (a==45||a==46)
printf("你是Visa的");
else
printf("你不是Visa的");
system("pause");
return 0;
}
错误的地方:
(1)
pruntf >>
printf(2)
if (a=45,46); >>
if (a==45||a==46)if 判断句子后面不可以加 ; C++中的 ; 是给编译器判断结束的地方,不像 VB 是以换行符号,不过既然前面已经侦测到 if ,那就不用多说,因为判断的式子已经被括号 () 给夹住了,因此不用麻烦加上 ; 给编译器知道
(3)
a=45,46 >>
a==45||a==46= 符号是指定的用法,如果要判断某个东东 是不是 某个西西,要用两次等于 ==
而可以加上 || (只要值不是 0 的都当成 True) 这是 Or 的用法,其实这边也可以用 | (这是二进位的用法)
还有原本的打法 if(a=45,46) 整个会传回 a 也就是 45 因为括号内先指定 a 的值是 45,然后整个括号再传给 if 的值就是 45
也就当成成立 (True),因此之前不管输入什么数字都会判断成 是