我做了一个程序,告诉你你的黄道标志。它可以编译,但是当我尝试运行它时,Windows冻结。

这是我使用的代码:http://codepad.org/V4WAIavW

#include <stdlib.h>
#include <stdio.h>

int main()
{

int d, m;

printf("Bienvenido al calculador de signo zodiacal 3000\n");
printf("Por favor introduzca su mes de nacimiento\n");

scanf("%i", &m);
     system ("pause");

     switch(m)
     {
              case 1:
                   printf("Introduzca su dia de nacimiento\n");
                   scanf("%i", d);
                   if (d>20)
                   printf("Su signo es acuario\n");
                   else
                   printf("Su signo es capricornio\n");
                   break;

              case 2:
                    printf("Introduzca su dia de nacimiento\n");
                    scanf("%i", d);
                    if (d>19)
                    printf("Su signo es piscis\n");
                    else
                    printf("Su signo es acuario\n");
                    break;

              case 3:
                   printf("Introduzca su dia de nacimiento\n");
                   scanf("%i", d);
                   if (d>20)
                   printf("Su signo es Aries\n");
                   else
                   printf("Su signo es piscis\n");
                   break;

              case 4:
                    printf("Introduzca su dia de nacimiento\n");
                   scanf("%i", d);
                   if (d>20)
                   printf("Su signo es tauro\n");
                   else
                   printf("Su signo es aries\n");
                   break;

              case 5:
                   printf("Introduzca su dia de nacimiento\n");
                   scanf("%i", d);
                   if (d>21)
                   printf("Su signo es geminis\n");
                   else
                   printf("Su signo es tauro\n");
                   break;

              case 6:
                   printf("Introduzca su dia de nacimiento\n");
                   scanf("%i", d);
                   if (d>21)
                   printf("Su signo es cancer\n");
                   else
                   printf("Su signo es geminis\n");
                   break;

              case 7:
                   printf("Introduzca su dia de nacimiento\n");
                   scanf("%i", d);
                   if (d>23)
                   printf("Su signo es leo\n");
                   else
                   printf("Su signo es cancer\n");
                   break;

              case 8:
                   printf("Introduzca su dia de nacimiento\n");
                   scanf("%i", d);
                   if (d>23)
                   printf("Su signo es Virgo");
                   else
                   printf("Su signo es leo");
                   break;

              case 9:
               printf("Introduzca su dia de nacimiento\n");
                   scanf("%i", d);
                   if (d>23)
                   printf("Su signo es libra\n");
                   else
                   printf("Su signo es virgo\n");
                   break;

               case 10:
                printf("Introduzca su dia de nacimiento\n");
                   scanf("%i", d);
                   if (d>23)
                   printf("Su signo es escorpio\n");
                   else
                   printf("Su signo es libra\n");
                   break;

                case 11:
                 printf("Introduzca su dia de nacimiento\n");
                   scanf("%i", d);
                   if (d>22)
                   printf("Su signo es sagitario\n");
                   else
                   printf("Su signo es escorpio\n");
                   break;

                case 12:
                 printf("Introduzca su dia de nacimiento\n");
                   scanf("%i", d);
                   if (d>21)
                   printf("Su signo es capricornio\n");
                   else
                   printf("Su signo es sagitario\n");
                   break;


                 system ("pause");


    }

}


我尝试使用“ if”代替“ switch”,但是它也冻结了。

最佳答案

您的scanf()调用应将指针传递到内存中将存储输入数据的位置。

例如:

scanf("%i", &d); // &d is the location in memory of d

关于c - 当我尝试运行我的十二生肖程序时,Windows卡住,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7780622/

10-11 21:57