C语言if语句问题

来源:百度知道 编辑:UC知道 时间:2024/06/25 21:06:37
题目是这样的,输入的年龄和月薪满足下面两个条件之一的,这位女士就同意见面。
条件一:30岁以下并且月薪5000以上。
条件二:30岁以上并且月薪30000以上。

我自己写的代码,找了半天都不知道错误在哪里。调试是可以的,但是输入年龄30以上,月薪30000以上却不行。。。。请各位帮帮我吧,我是新手,遇到坎没有人帮我。。。

代码是这样的:

main()
{
int a,b;
printf("enter your age");
scanf("%d",a);
printf("enter your monthly");
scanf("%d",b);
if ((a>30&&b>30000)||(a<30&&b>5000))
{
printf("Give me a call,021-*******");
}
else
{
printf("I don't want see you.");
}
getch();42

}

scanf("%d",&a); (应该改成这样)
scanf("%d",&b);

你用scanf的时候没有用取地址符&

scanf语句读入数据应加取地址符“&”
scanf("%d",&a);
scanf("%d",&b);

你的不应该是if语句的问题我估计可能是你的scanf语句没有搞明白特意从百度上给你搜了你自己看下吧:

scanf函数,与printf函数一样,都被定义在stdio.h里,因此在使用scanf函数时要加上#include<stdio.h>。它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中,其关键字最末一个字母f即为“格式”(format)之意。
scanf函数的一般形式
scanf(格式控制,地址表列)
int scanf(char *format[,argument,...]);
“格式控制”的含义同printf函数;“地址表列”是由若干个地址组成的表列,可以是变量的地址,或字符串首地址。
scanf()函数返回成功赋值的数据项数,出错时则返回EOF。
例:使用scanf函数输入数据。
#include<stdio.h>
void main()
{
int a,b,c;
printf("input a,b,c\n");
scanf("%d%d%d",&a,&b,&c);
printf("a=%d,b=%d,c=%d",a,b,c);
}
[编辑本段]格式字符说明
%a,%A 读入一个浮点值(仅C99有效)
%c 读入一个字符
%d 读入十进制整数
%i 读入十进制,八进制,十六进制整数
%o 读入八进制整数
%x,%X 读入十六进制整数
%c 读入一个字