c/c++中,输入字母后,程序马上结束. 我急!!求了

来源:百度知道 编辑:UC知道 时间:2024/05/30 23:30:14
#include<stdio.h>
#include <stdlib.h>
main()
{
int a,n,c;
char ch;
q: printf("please input n,a,c:");
scanf("%d,%d,%d",&n,&a,&c);
printf("该函数的导数为:\n");
// if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))

if(n==-1)
printf("y=%dlnX\n",a);
else if(n==0)
printf("y=0\n");
else if(n==1)
printf("y=%d\n",a*n);
else
printf("y=%dx^%d\n",a*n,n-1);
goto q;
// system("pause");
}这个程序咋加入一些控制语句后,变得好些

建议你 这么改 我没改GOTO 语句 但我知道你的意思了
你要判别输入的键值 然后执行相应的退出或继续操作 一下我改的部分可以实现你的想法

#include<stdio.h>
#include <stdlib.h>
#define Q 0x1b //定义Esc键的键值
main()
{
int a,n,c;
char ch;
q: printf("please input n,a,c:");
scanf("%d,%d,%d",&n,&a,&c);
printf("该函数的导数为:\n");
// if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))

if(n==-1)
printf("y=%dlnX\n",a);
else if(n==0)
printf("y=0\n");
else if(n==1)
printf("y=%d\n",a*n);
else
printf("y=%dx^%d\n",a*n,n-1);
printf("\n 按任意建继续 Esc键退出");
Q=getch();
if(c==Q) // 如果按的是Esc建
{exit(0);} // 退出程序;
else
{clrscr(); //清理屏幕
goto q;}
}

建议不用goto
非要用的话
if(n==-1)
printf("y=%dlnX\n",a);
else if(n==0)