VC下正常,geany报错,gcc报线程错误


[c]#include"stdio.h"
#include"stdlib.h"
#include"time.h"
void main()
{
int p,c=1,n=0,k,x1=1,x2=1,x3=1;
int t[3][3]={{0,-1,1},{1,0,-1},{-1,1,0}};
float l=0.0;
printf("1,剪刀;2,石头;3,布;0,退出\n");
do
{
printf("请输入你的结果:");
scanf("%d",&p);
srand((unsigned)time(NULL));
c=(int)(rand()%3+1);
c=(int)(c*(1.0*x1+2.0*x2+3.0*x3)/n);
switch(p)
{
case 0:break;break;
case 1:k=t[p-1][c-1];x2++;n++;break;
case 2:k=t[p-1][c-1];x3++;n++;break;
case 3:k=t[p-1][c-1];x1++;n++;break;
default:
printf("输入有误,请重新输入:\n");break;
}
switch(k)
{
case 1:printf("你赢了!\n"),l++;break;
case -1:printf("你输了!\n");break;
case 0:printf("平局!\n");break;
}
}while(p!=0);
printf("一共进行了%d场比赛,胜率为:%f.",n,l/n);
}[/c]