几个自己做的小程序,都有不大不小的问题,可是我翻了好久书都没找出问题啊,快抓狂了。求帮助啊!
下面是代码:
#include<stdio.h>
void afgch(int x)
{ do{scanf_s("%d",&x);
if((x!=1)&&(x!=2)&&(x!=3))
printf("请输入1、2或3\n");
}while((x!=1)&&(x!=2)&&(x!=3));
}
void main()
{ printf(" IQ测试\n");
printf("1 炮哥是人还是神?\n(1)神 (2)人\n请输入答案1或2\n");
int x;
do{scanf_s("%d",&x);
if((x!=1)&&(x!=2))
printf("请输入1或2\n");
}while((x!=1)&&(x!=2));
if(x==1)
{ int a,b,c;
printf("2 选出不同的一项:\n(1)老虎 (2)大树 (3)小狼~\n请输入答案1、2或3\n");
afgch(a);
printf("3 如果笔相对于写字,那么书相对于?\n(1)解除疲劳 (2)娱乐 (3)阅读\n");
afgch(b);
printf("4 如果所有的妇女都有大衣,那么漂亮的妇女会有?\n(1)昂贵的大衣 (2)时髦的大衣 (3)给多的大衣\n");
afgch(c);
int y; y=100*x+10*(a+b+c-3);
if(y==100)
printf("你的IQ是%d,至少你做过最明智的选择,你不是个傻瓜\n",y);
else if(y<120)
printf("你的IQ是%d,你挺聪明的,加油!好好努力!\n",y);
else
printf("你的IQ是%d,你真是太聪明了,我很佩服你哦!\n",y);
}
else
printf("你的IQ低于60,需要喝未来星长长智力了\n");
老是出现warning c4700,说是使用了未初始化的变量a,b,c, 可是我看了好久都没看出来为什么啊,啊啊啊啊啊啊啊啊啊啊啊啊啊,抓狂了。求帮助啊,老师!
还有下面这一个,
代码如下:
int ghost(int x,int y)
{ int a,i;
a=x;
for(i=1;i<y;i++)
{
x=x*a;
}
return x;
}
void main()
{ int w;
do
{
int a,b;
printf("请输入底数:\n");
scanf_s("%d",&a);
printf("请输入指数:\n");
scanf_s("%d",&b);
printf("结果是%d\n",ghost(a,b));
printf("按0退出\n");
scanf_s("%d",&w);
}while(w!=0);
}
这个倒是没什么问题,可是帮我看看下面这个吧
代码如下:
#include<stdio.h>
int ghost(int x,int y)
{ int a,i;
a=x;
for(i=1;i<y;i++)
{
x=x*a;
}
return x;
}
void main()
{ int w;
do
{
int c,b;
scanf_s("%d,%d",&c,&b);
printf("%d\n",ghost(c,b));
printf("按0退出\n");
scanf_s("%d",&w);
}while(w!=0);
}
我感觉和上面那个没什么区别啊,为什么会在运算一次后出现死循环呢?跪求老师指教啊!
这是前一个代码的开始执行截图。
这是后一个的,死循环了。不知道为什么,跪求回答啊!
@jlxuqiang