c++ - Penyataan rehat bahasa C melaporkan ralat
ringa_lee
ringa_lee 2017-06-22 11:53:37
0
4
1479

Saya tidak tahu di mana silap saya, tolong beri saya petunjuk saya telah melihatnya untuk masa yang lama dan saya rasa ia adalah masalah dengan tanda kurung, tetapi saya tidak tahu bagaimana untuk menukarnya

#include<stdio.h>
#include<time.h>
#include<stdlib.h>
main()
{
    int rollDice();
    void delay();
    int i,result = 0 ,result1 = 0;
    printf("Game Start!!!!\n");
    result = rollDice();
    printf("%d\n",result);
    delay();
    if ((result == 7 )||(result == 11))
        {printf("Y\n");break;}
    else if ((result == 2) || (result == 3)|| (result == 12))
        {printf("N\n");}
    else
        printf("C\n");
        for (i = 0;i<7;i++)
            {result1 = rollDice();
            printf("%d\n",result1);
            if (result1==result)
                {printf("Y\n");break;}
            else if ((result1!=result)&&(i==6))
                printf("N\n");
        }
    return 0;
}
int rollDice()
{
     void delay();
     int a,b,c;
         srand((unsigned)time(NULL));
         a= rand()%6 + 1;
         delay();
         b= rand()%6 + 1;
         c = a + b;
     return c;
}
void delay()
{
    long t;
    for (t=0;t<50000000;t++)
    {

    }
}
ringa_lee
ringa_lee

ringa_lee

membalas semua(4)
巴扎黑

Rehat pertama digunakan secara tidak sesuai mesti digunakan di dalam gelung. Rehat kedua ok. Adalah disyorkan supaya format kod anda konsisten, dan jika terdapat pendakap kerinting, tambahkannya secara seragam. Tukar kod kepada ini:

int rollDice();
void delay();
int i,result = 0 ,result1 = 0;
printf("Game Start!!!!\n");
result = rollDice();
printf("%d\n",result);
delay();
if ((result == 7 )||(result == 11))
    {printf("Y\n");}
else if ((result == 2) || (result == 3)|| (result == 12))
    {printf("N\n");}
else
    {printf("C\n");}
    
    
    
    
    for (i = 0;i<7;i++)
        {result1 = rollDice();
        printf("%d\n",result1);
        if (result1==result)
            {printf("Y\n");break;}
        else if ((result1!=result)&&(i==6))
            printf("N\n");
    }
    
return 0;
三叔

Pernyataan putus mempunyai dua kegunaan:
1 Digunakan dalam pernyataan suis untuk keluar dari pernyataan suis di tengah-tengah.
2 Digunakan dalam pernyataan gelung untuk keluar dari gelung semasa terus dari badan gelung.

Pernyataan pecah pertama dalam soalan tidak tergolong dalam kedua-dua penggunaan ini.

phpcn_u1582

Terdapat tiga masalah dengan kod anda:

1, fungsi main() tidak mempunyai jenis nilai pulangan

2 Dua fungsi rollDice() dan delay() dipanggil tanpa pengisytiharan awal

3, memecahkan ralat penggunaan

Mana-mana daripada tiga perkara di atas sudah cukup untuk menyebabkan program melaporkan ralat secara langsung.

Selain itu, saya menasihati anda untuk menguasai kemahiran bahasa asas dahulu, dan kemudian nyahpepijat lagi.

迷茫

break digunakan untuk melompat keluar dari pernyataan while, tukar statement, do{}while, for{} Yu opera

Tidak digunakan untuk melompat keluar dari if/else

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!