这个C语言程序错在哪里?为什么运行的时候输不出结果?

这个C语言程序错在哪里?为什么运行的时候输不出结果?#include<stdio.h>
main()
{
int x,y;
char ch;
printf("请输入算式:");
scanf("%d",&x);
scanf("%c",&ch);
scanf("%d",&y);
switch(ch)
{
case '+': printf("%d",x+y);break;
case '-':printf("%d",x+(-y));break;
case '×':printf("%d",x*y);break;
case '÷':printf("%d",x/y);

}
}

写法上没问题 怀疑是输入问题
你需要输入中不带空格
比如
1+2
3-4
这样的
如果带了空格 就会出错。
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-11-05
scanf("%d,%d,%d,%d,%d,%d",&a,&b,&c,&d,&e);改scanf("%d,%d,%d,%d,%d",&a,&b,&c,&d,&e);输入数据时,数据要用逗号分隔,例如:1,3,5,4,2原型声明intmax(int,int);可以的。intmax(intnum1,intnum2){}函数定义要写全参数类型。VC++6.0编译器不要#include

c语言运行程序为什么没有输出数?
1、输入的格式不对 要输入“浮点数”并用 “逗号” 分隔输入三个数两个逗号后还要额外多加一回车才开始后面的流程,如果把 scanf("%f,%f,%f\\n",&a,&b,&c);改为 scanf("%f%f%f",&a,&b,&c);就可以用空白符做分隔了。2、没有输出 不知道计算的结果那算法就没有意义了。输出不一定是要...

c语言程序 哪里出错了呢 始终运行不出结果
在C语言编程中,若程序始终无法输出结果,可能是因为输入数据的类型与程序调用的数据类型不一致。以scanf函数为例,当使用 scanf("%lf%lf%lf",&a,&b,&c);进行输入时,确实将输入的数字以float类型存储至内存中。然而,程序在读取这些内存时,可能期望以double类型进行解析。这种类型不匹配会导致解析出...

这个c语言代码错哪里了?
C编译的程序对语法检查并不像其它高级语言那么严格,这就给编程人员留下“灵活的余地”,但还是由于这个灵活给程序的调试带来了许多不便,尤其对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误。看着有错的程序,不知该如何改起,通过对C的学习,积累了一些C编程时常犯的错误,以供参考...

c语言程序 哪里出错了呢 始终运行不出结果
scanf("%lf%lf%lf",&a,&b,&c);可能是因把你输入的数字以float的形式存入了内存中,而程序调用的时候以double的形式去读相应的内存,所以解析出来的double型数值与你输入的不一致了。个人没有发现其他问题。```符号位 阶码 尾数 长度 float 1 8 23 32 double 1 11...

c语言,运行后为什么没结果。
可能情况有:1、是不是程序运行出现错误,如:死循环;如果是死循环,程序将会进行持续运算,因此不会有退出结果。2、没有输出结果的函数,例如是不是没有printf函数?或者你可以把运行结果和代码发给我看看。。

C语言 输出内容不完整,请问我这个程序哪里错了?
因为scanf函数以空格,制表符Tab和回车符为结束符,而gets函数可以读入空格,制表符Tab,以回车键为结束符,所以你的程序空格后的内容被删除了.但是C语言新标准弃用了gets函数,因为它不检查数组越界,改用了fgets函数.所以你的程序中输入字符中有空格,需要把输入函数scanf换成fgets函数.改正后的程序如下(改动的...

c语言程序为什么运行就是得不出正确结果?
其实你这个程序是对的,可能是你输入有错,注意到这一句:scanf("%lf,%lf,%lf",&a,&b,&c);你的“格式控制”字符串中有逗号,因此输入时必须在三个数之间加逗号。C规定:如果在“格式控制”字符串中除了格式说明以外还有其 它字符,则在输入数据时应输入与这些字符相同的字符。下面 输入是合法...

c语言程序显示没有问题但运行结果是空白的?
在c语言中,程序的错误分成两种,一种是语法错误,程序在进行运行过程中会检测出来,并且给出错误的大致位置和原因,另一种错误是逻辑错误,说通俗点就是程序没有语法错误,但是程序内部出现了不符合题目本意的错误,导致不能得出正确结果,这种误是没有提示的,要编写者自己去发现。估计您的程序出现了第...

为什么这个c语言输不出结果?
这个程序写的太简单了,错误就是最基本的变量名称使用:输出的是End的内容,但是整个程序都没有给End赋值。因此,全局变量End[]被初始化为全0,因此输出也全部为空。注意上面的53,54和57行,本来应该给End赋值的都写反了。

为什么C语言程序输入不了内容,有什么错误?
所以在你图中代码char c[5][20];c[i]就表示一行字符串的首地址。同理s数组也是。所以当输入c和s数组,用c[i],s[i]做参数,不要加&,直接写scanf("%s%s",c[i],s[i])就可以了。而a是不是字符数组,%f不能直接对应一行,而要对应其中一个元素,所以要写&a[i][j]。而你的循环条件...

相似回答