c语言中出现undeclared identifier ,求帮助啊!!

程序如下:#include<stdio.h>#include<math.h>intmain(void){do{doublea,b,c;doubledelte;double... 程序如下:
# include <stdio.h>
# include <math.h>
int main (void)
{
do
{
double a , b , c ;
double delte ;
double x1 , x2 ;
char ch ;
printf ("请输入A的值:\n");
scanf ("%lf", &a);
printf ("请输入B的值:\n");
scanf ("%lf", &b);
printf ("请输入C的值:\n");
scanf ("%lf", &c);
delte = b * b - 4 * a * c;
if (delte > 0)
{
x1 = ((-b) + sqrt(delte)) / (2 * a);
x2 = ((-b) - sqrt(delte)) / (2 * a);
printf ("该方程有两个解: x1 = %lf,x2 = %lf", x1 ,x2);
}
else if (delte == 0)
{
printf ("该方程有唯一解:\n");
x1 = x2 =-b / 2 * a ;
printf ("x1 = x2 =%lf",x1);
}
else
{
printf ("该方程无解:\n");
}
printf ("还要计算吗(Y/N):");
scanf (" %c",&ch);
}
while( 'y'==ch );
return 0;
}

为什么提示在while这一行出现错误,错误提示如下:
Compiling...
1.cpp
E:\1.cpp(40) : error C2065: 'ch' : undeclared identifier
执行 cl.exe 时出错.
1.obj - 1 error(s), 0 warning(s)

大致意思就是ch没有定义变量,可是明明在第十行将ch定义为char了啊, 小弟初学C,求帮助,详细解答一下,谢谢.
展开
 我来答
金色潜鸟
2012-10-15 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5741万
展开全部
用一对花括号括起的区域叫一个“域”,在本域声明的变量只在本域和它的内域起作用,除非是static.
你应当把变量声明放到 前面
int main (void)
{
放这里
do
GarfieldGCat
2012-10-15 · TA获得超过500个赞
知道小有建树答主
回答量:445
采纳率:92%
帮助的人:277万
展开全部
试试把所有变量定义都放到顶部,就是main函数开始的地方
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式