小第是一个学生在玩电子词典的游戏时发现一个有游戏还行啊!于是我就自己试着编了一个小游戏是一个猜字的游戏 可是有问题小第不明,请大哥们指教程序如下:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char* ch()
{
int a,b,c,d;
char *str;
randomize();
a=rand()%10;
b=rand()%10;
c=rand()%10;
d=rand()%10;
while(a==b||a==c||a==d||b==c||b==d||c==d)
{
b=rand()%10;
c=rand()%10;
d=rand()%10;
}
itoa(a,str,10);
itoa(b,str+1,10);
itoa(c,str+2,10);
itoa(d,str+3,10);
return(str);
}
void main ()
{
char str1[4],str2[4],str3[4];
int i,j,m=0,n=0;
strcpy(str1,ch());
strcpy(str3,str1);
while(1)
{
n=0;
m=0;
scanf("%s",str2);
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
if(str2[i]==str3[j])
{
if(i==j)
{
n++;
break;
}
else
{
m++;
break;
}
}
}
}
if(n==4)
{
printf("gong xi ni cai dui le !");
exit(1);
}
else
printf("\n%s\t%d%s%d%s\n",str2,n,"A",m,"B");
}
}
功能是随机抽出四个各不相等的数 如果数猜对了而且位置也对用A表示,如果数对了位置错了用B表示
全部猜对了 程序结束!
可是其中的变量sr1,当我输入str2时str1的值没了,这是为什么啊!
请教各位大哥!