int arr5[8]={10,20,30,40,50,60,70,80};
len=8;
int beg=0,mid,end=len-1,loc;
mid=int((beg+end)/2);
printf("%d",mid);
I was trying to write a code for binary search but can't typecast the value of (beg+end)/2 to mid.
error: expected expression before 'int'
mid=int((beg+end)/2);
^~~
For starters using the type specifier int
in this statement
mid=int((beg+end)/2);
does not make a sense.
It is enough to write
mid=(beg+end)/2;
As all operands in the expression in the right side of the assignment have the type int
then the evaluated value also has the type int
.
As for the casting then in C you have to write
mid= ( int )((beg+end)/2);