Aiuto su un'istruzione %s%17s: perchè?

di il
8 risposte

Aiuto su un'istruzione %s%17s: perchè?

Buongiorno a tutti, mi scusa già da ora se la domanda può sembrare stupida ma proprio non riesco a capire. Ho un esercizio sui vettori dove devo stampare a video in forma tabulare ( a colonne) rating e frequency.
C'è un comando nell'esercizio svolto che inserisce
 printf("%s%17s" ,"Rating", "Frequency");
perchè proprio %s%17s??
Grazie a tutti

8 Risposte

  • Re: Aiuto su un'istruzione %s%17s: perchè?

    17 limita il numero di caratteri considerati della seconda stringa.

    Il perchè lo utilizzi non so.
  • Re: Aiuto su un'istruzione %s%17s: perchè?

    Se Rating e Frequency sono in realtà dei valori numerici (e quindi delle variabili) non va utilizzata quella riga di codice. Del resto visualizzare delle costanti con la printf non ha molto senso ... (a meno che quella non sia la "testata" di un report ...)

    Forse è meglio che tu chiarisca (e ti chiarisca) quello che devi fare.
  • Re: Aiuto su un'istruzione %s%17s: perchè?

    Ananke Melior ha scritto:


    17 limita il numero di caratteri considerati della seconda stringa.

    Il perchè lo utilizzi non so.
    Quindi tecnicamente avrei potuto anche scrivere 18 o qualsiasi altro numero?

    Una domanda: come mai metto %s%17s??? ha un significato mettere %s vicino? non potevo mettere solo %17s? Grazie mille
  • Re: Aiuto su un'istruzione %s%17s: perchè?

    oregon ha scritto:


    Se Rating e Frequency sono in realtà dei valori numerici (e quindi delle variabili) non va utilizzata quella riga di codice. Del resto visualizzare delle costanti con la printf non ha molto senso ... (a meno che quella non sia la "testata" di un report ...)

    Forse è meglio che tu chiarisca (e ti chiarisca) quello che devi fare.
    Grazie in realtà è un testo del Deitel quindi ho pensato che sia stato messo per completezza più che per altro. Infatti non mi era molto chiaro.
  • Re: Aiuto su un'istruzione %s%17s: perchè?

    cherry8490 ha scritto:


    Ananke Melior ha scritto:17 limita il numero di caratteri considerati della seconda stringa.

    Il perchè lo utilizzi non so.



    Quindi tecnicamente avrei potuto anche scrivere 18 o qualsiasi altro numero?

    Una domanda: come mai metto %s%17s??? ha un significato mettere %s vicino? non potevo mettere solo %17s? Grazie mille
    Non si poteva mettere solo %17s perchè ogni %s indica che li verrà inserita una stringa, che sono poi quelle riportatesuccessivamente e divise da virgole.
    Se ne avesis messa solo una verrebbe printata solo la prima delle 2 stringhe, probabilmente il compilatore ti avviserebbe dell'errore.
  • Re: Aiuto su un'istruzione %s%17s: perchè?

    Ananke Melior ha scritto:


    cherry8490 ha scritto:


    Ananke Melior ha scritto:17 limita il numero di caratteri considerati della seconda stringa.

    Il perchè lo utilizzi non so.



    Quindi tecnicamente avrei potuto anche scrivere 18 o qualsiasi altro numero?

    Una domanda: come mai metto %s%17s??? ha un significato mettere %s vicino? non potevo mettere solo %17s? Grazie mille
    Non si poteva mettere solo %17s perchè ogni %s indica che li verrà inserita una stringa, che sono poi quelle riportatesuccessivamente e divise da virgole.
    Se ne avesis messa solo una verrebbe printata solo la prima delle 2 stringhe, probabilmente il compilatore ti avviserebbe dell'errore.
    Quindi se ho ben capito se volessi printare 3 stringhe dovrei inserire tre di questi %s (ovviamente ognuno con il numero di caratteri che voglio considerare?
    Grazie
  • Re: Aiuto su un'istruzione %s%17s: perchè?

    Esatto!

    Se ometti il numero (es: 17) vengono considerati tutti i caratteri.
  • Re: Aiuto su un'istruzione %s%17s: perchè?

    Grazie mille!! sei stato chiarissimo
Devi accedere o registrarti per scrivere nel forum
8 risposte