Hi Adak,
I changed it as below:
Code:
#include<stdio.h>
#include<string.h>
#include<time.h>
#include<stdlib.h>
int k=0;
int p=1;
void parser(char in_str[][25]);
//Main function
int main()
{
char inputexp[500];
char label[50][25];
printf("enter expression");
scanf("%s",inputexp);
strcpy(label[0],inputexp);
//calling function parser
parser(label);
return 0;
getchar();
}
//function parser
void parser(char in_str[][25])
{
while(in_str[k]!= '\0')
{
int len=strlen(in_str[k]);
int openbrac_count=0,closebrac_count=0;
int i=0;
int from=0;
while(i<len)
{
while(i<len && in_str[k][i]!=')')
{
if((in_str[k][i]=='('))
{
openbrac_count++;
}
i++;
}
while(i<len && in_str[k][i]!='(')
{
if(in_str[k][i]==')')
{
closebrac_count++;
}
if(openbrac_count==closebrac_count & openbrac_count != 0)
{
strncpy(in_str[k+1],&in_str[k][from],i-from);
p=p+1;
if (in_str[k][i+1]=='&' || in_str[k][i+1]=='|')
{
from=i+2;
}
}
i++;
}
if (in_str[k][0]=='G')
{
strncpy(in_str[p+1],&in_str[k][2],strlen(in_str[k])-2);
parser(in_str);
}
if (in_str[k][0]=='F')
{
strncpy(in_str[p+1],&in_str[k][2],strlen(in_str[k])-2);
parser(in_str);
}
if (in_str[k][0]=='X')
{
strncpy(in_str[p+1],&in_str[k][2],strlen(in_str[k])-2);
parser(in_str);
}
}
k++;
} //end of function parser
}
Iam getting segmentation fault while calling the function, can you please help me now