麻烦帮忙看看我的C语言出了什么问题 我怎么老师调试没错但是结果不对啊 我新手 在线等 谢谢

#include"stdio.h"
#include"math.h"
void main()
{
double a,b,c;
printf("plese input a= b=\n",&a,&b);
scanf("%d %d",&a,&b);
if(a<=10)
{
c=pow(a,b);
printf("c=%d\n",c);
}
else
{
c=a<b?a:b;
printf("c=%d\n",c);
}

}

把double换成INT

#include"stdio.h"
#include"math.h"
void main()
{
int a,b,c;
printf("plese input a= b=\n",&a,&b);
scanf("%d%d",&a,&b);
if(a<=10)
{
c=pow(a,b);
printf("c=%d\n",c);
}
else
{
c=a<b?a:b;
printf("c=%d\n",c);
}
getch();

}追问

你好 很感谢你 问题解决了 麻烦能问一下为什么改为INT就可以了呢 谢谢

追答

因为定义INT变量要和%d匹配,而double则与%d不一致

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-06-08
#include"stdio.h"
#include"math.h"

编译环境和老师的一样么?
这两个文件一样么?
第2个回答  2011-06-08
#include <stdio.h>
#include <math.h>
void main()
{
double a,b,c;
printf("please input a,b:");
scanf("%lf%lf",&a,&b);
printf("a=%lf,b=%lf\n",a,b);
if(a<=10)
{
c=pow(a,b);
printf("c=%lf\n",c);
}
else
{
c=a<b?a:b;
printf("c=%lf\n",c);
}
}
因为你定义的数据类型是double型的 所以不能用整型的%d,需使用%lf
第3个回答  2011-06-08
因为你的语句scanf("%d %d",&a,&b); 中的 %d 表示要求用户输入一个十进制的整数,而double表示的是浮点数(即小数)。如果非要用double的话,那就得用 %f 才行!

初学C语言,请大家帮我看看这个问题,输出结果不对啊
结果是正确的,有几个要点:1 、像类似 a=b=c 的赋值语句是从右侧往左进行的,即先c赋值给b,b再赋值给a 2 、== 表示判断时候相等,不是赋值 3 、printf函数格式化参数的判别顺序是从右向左 结合上面几点,打印结果说明如下:(1) 最右边的d 是因为你的printf的最后一个格式化串写错了(你...

c语言小白,请问为什么我的这段代码输出结果不正确?应该怎么改呢?求具...
1、这一块统计数量的代码其实老实说我都没看懂是什么意思,但是我测试了,输入13能统计出来是2,但是输入12345的时候统计就错了,这段并不能数出3来。2、第17行有问题,你每次循环都把max赋值为Num[0],按照你的代码来,输入13时,Num[0]的值为0,所以max初始值总是0,而且Num[9]也是0,所以...

...开关灯问题,麻烦大神们帮我看看这个程序哪里错了啊,结果不对啊!
这样就没问题了。

为什么我的C语言编程时没有错误但有警告,运行不了,这个实在不晓得为什 ...
编译没有错误只是说没有语法错误。 但你的程序可能有逻辑错误。例如死循环什么的。 所以 ,编译正确不代表程序就是对的。其实只要你学习半年左右就很少出语法错误的。更多的是逻辑错误。那是侯还要靠自己一步步的调试啊 看啊,想啊。

关于C语言编写程序的一个疑问 高手帮忙看看我的程序哪错了
看了你的代码觉得,你在C语言的语法规则上还有待提高啊,在此举出你所给出的代码的若干错误。首先,你的代码不完整。第9、11、13行要定义三个100行的二维字符数组,如果仅仅是类似char adj[100][12]={"开心的"}的定义;这样adj[1]到adj[99]这99个词都会是空值(ASCII码为0),若用printf()...

下面C语言这题我的结果怎么不对啊,int k不是重新被赋值0了吗?为什么...
前面的int i,j,k=10;这三个变量的作用范围都是整个函数,因此最后一句printf打印的遍量也是这个k。程序的问题出在第二个int k=0;这一句是一个变量声明而不能看做是简单的变量赋值。在这个{}的范围就是第二个k的作用范围。从代码阅读的角度看,第一个k已经被第二个k掩盖了了。也就是在...

跪求C语言高手,帮忙分析哈这个程序为什么调试没错误,一运行就有一个错 ...
把你的错误,截个图发上来。才好分析。大概看了一下,你new一个对象,后面带括号干啥,你先把()去掉在编译下看看。编译只是语法检查通过了,但是语义检查不一定就检查的出来。

求助大神,c语言,我的一些想法和问题。
---这要看你把这几个语句放在哪里了。3.a[n][n]那个程序,为什么会输出个-0.00?负?我错了哪里?怎么改?这可能与a[n][n]={0};有关。因为有的编译地对这种写法支持不够。你可以试一下,a[5][5]={0};看会不会不一样,或者,再改回到a[n][n]={0};情况会怎样?

...习题时出现这个错误提示undeclared identifier,但我不知道错在...
undeclared identifier是“没有定义的标识符”的意思。你的代码有三个问题。一是没有包含头文件stdio.h,编译器就不认识printf()和scanf()了,认为它们是没有定义的标识符!在#include<math.h>后写一句#include <stdio.h>就可以了。二是你定义的a、b、c是int型,而在scanf()中却用的是%lf型(...

计算机c语言,有几个问题,望解答,准备计算机二级的菜鸟在此谢过...
【1】我也觉得是长双精度,不过长双精度对于初学者来说很少用到,可能是因为这个原因,所以答案是双精度吧。【2】C语言的注释可以放在程序的任何地方,只要写在注释符\/**\/中就可以。【3】应该跟你理解的也要,C的类型int也是标识符,命名的时候不要和那些系统默认的符号重复就可以了。【4】char c1...

相似回答