0 Soru: köşeli parantez kullanmadan işaretçi kullanarak dizideki bir şeyin değerini nasıl değiştirebilirim [kapalı]

tarafından oluşturulan soru Wed, May 8, 2019 12:00 AM

işaretçi nedeniyle kodu kullanamama hatası veriyor bana

:

)

#include <stdio.h>
#define LENGTH 31
void get_boom_number(int* a)
{
    printf("Enter Boom number\n");
    while(scanf("%d", &*a)==0) {printf("Illegal input, try again:\n");
    getchar();
    }
}
void play(int *boom,int n,char *players[])
{
    int i=*boom-1,j,swap;
    while(n>0)
    {
        while((i/n)>0)i-=n;
        for(j=i%n;j<n-1;j++)/* sliding the name of the loser to the end of the array so we can remain the array by the same formation(sorted well)*/
        {
            swap=players[j];
            players[j]=players[j+1];
            players[j+1]=swap;
        }

        i+= *boom-1;
        n--;
    }
}
int main()
{
    char * players[LENGTH]={"Tyrion Lannister","Daenerys Targaryen","Jon Snow","Arya Stark","Theon Greyjoy", "Joffrey Baratheon","Khal Drogo","Ted Mosby","Marshall Eriksen","Robin Scherbatsky"/*10*/,"Barney Stinson", "Lily Aldrin", "Tracy McConnell", "Ted Mosby", "Leonard Hofstadter","Sheldon Cooper", "Penny", "Howard Wolowitz", "Raj Koothrappali", "Bernadette Rostenkowski-Wolowitz"/*20*/,"Amy Farrah Fowler", "Gregory House", "Lisa Cuddy", "James Wilson","Eric Foreman", "Allison Cameron", "Robert Chase" ,"Lawrence Kutner", "Chris Taub","Remy 13 Hadley"/*30*/, "Amber Volakis"};
    int boom_number, i;
    get_boom_number(&boom_number);
    play(&boom_number,LENGTH,&players);
    printf("The order after the game is: \n");
    for(i=0; i<LENGTH-1; i++)
    {
        printf("%s, ",players[i]);
    }
    printf("%s.",players[LENGTH-1]);
    return 0;
}


basit ... değiştirmek istediğim tek şey parantez ... onları kullanamıyorum, söylendi. bu yüzden aynı programı fonksiyondaki parantez olmadan kullanmak için bir yola ihtiyacım var: play.

    
0
  1. (players+i) konumdur ve *(players+i) içeriğidir.
    2019-05-08 16: 13: 52Z
  2. players[j] bir int değil.
    2019-05-08 16: 14: 47Z
  3. 0600350991111101035062 - scanf("%d", &*a) zaten ~ > 0600350991100101035062
    bir işaretçidir
    2019-05-08 16: 16: 56Z
  4. teşekkür ederim düzelttim teşekkür ederim
    2019-05-08 16: 17: 33Z
0 Yanıtlar                              0                         
a
kaynak yerleştirildi İşte