您的位置:首页 > 其它

关于switch和scanf的一些细节问题

2011-01-30 00:46 381 查看
#include "test.h"
int main (void)
{
int a,b,c;
//	char c;
printf("please input data:/n");
scanf("%d %d",&a,&b);
printf("1.add 2.sub/n");
scanf("%d",&c);
switch(c)
{
case 1:add(a,b);
break;
case 2:sub(a,b);
break;
}
return 0;
}
int add(int x, int y)
{
int z=x+y;
printf("%d",z);
return 0;
}
int sub(int x, int y)
{
int z=x-y;
printf("%d",z);
return 0;
}


这是正确的代码。

一开始我犯了一个很低级的错误,就是在case '1'上多加了单引号,引起了字符的转变,事实上变成了49。而后又犯了一个错误,

scanf使用的时候不能用逗号分离的照我这么写,除非我写成这样scanf("%d,%d",&a,&b);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: