- 论坛徽章:
- 0
|
c程序的问题
兄弟,你的define宏命令用的似乎不那么对。你出现的那个错误主要是因为sign的大小表示的是那几个你定义的符号的ASCII码,而它们的值根本不可能与expression相等。我把你的程序改后为:
#include<stdio.h>;
#include<string.h>;
#include<malloc.h>;
#define sign[6] {'(',')','*','/','+','-'}
void main()
{
char * expression=(char *)malloc(sizeof(char));
char * s=(char *)malloc(sizeof(char));
int * num=(int *)malloc(sizeof(int));
int flag;
int i;
int j;
int m;
printf("please enter:\n" ;
scanf("%s",expression);
for( i=0;i<strlen(expression);i++)
{
flag=0;
for(j=0;j<6;j++)
{
if(*(expression+1)==j)
{
s=expression+i;
flag=1;
}
}
if(flag==0)
{
num=expression+i;
}
}
for( m=0;m<strlen(s);m++)
printf("%c \n",*(s+m));
scanf("%s",expression);
}
不知道我改的对不对,我也是新手,如果错误就让你见笑了。 |
|