ちょっとやってみた
#include<stdio.h>
#include<math.h>
int main(void){
double x,y;
x=sqrt(5);
y=5^(1/2);
printf("x=%f,y=%f\n",x,y);
getchar();
return 0;
}

結果
x=2.236068,y=5,000000

ならなかったけど、やり方間違えてるかな