Esercizio in c

di il
2 risposte

Esercizio in c

Buongiorno ho provato a cercare di capire l'output di tale programma e mi viene program...sapete dirmi se e corretto?
grazie in anticipo.
#include <stdio.h>
#include <string.h>
char str [] = "programmazione1";
int main ()
{
int i,n;
n = strlen (str);
for (i=0; i<n; i++){
if(i % 2)
continue;
printf( " %c", str );
}
return 0;
}

2 Risposte

  • Re: Esercizio in c

    Ciao!

    Innanzitutto per postare il codice sul forum utilizza gli appositi TAG; inoltre al fine di rendere il codice più chiaro e leggibile ti consiglio di rispettare l'indentazione e la spaziatura e di racchiudere il corpo delle istruzioni di controllo (if, for, while...) tra parentesi graffe. In pratica seguendo quanto appena detto avresti dovuto postare qualcosa del genere:
    #include <stdio.h>
    #include <string.h>
    
    int main ()
    {
        char str[] = "programmazione1";
        int n = strlen(str);
        for(int i = 0; i < n; i++)
        {
            if(i % 2)
            {
                continue;
            }
            printf( "%c", str);
        }
        return 0;
    }
    Detto questo:
    - sei sicura che sia
    printf("%c", str)
    e non
    printf( "%c", str[i])
    ?
    - se ho ben capito la tua previsione sull'output è program, giusto? Posso chiederti come sei arrivata a questa conclusione?
    - invece di chiedere sul forum se la tua interpretazione fosse corretta non sarebbe stato più facile compilare il programma, lanciarlo e osservarne l'output?!
  • Re: Esercizio in c

    Nippolo ha scritto:


    Ciao!

    Innanzitutto per postare il codice sul forum utilizza gli appositi TAG; inoltre al fine di rendere il codice più chiaro e leggibile ti consiglio di rispettare l'indentazione e la spaziatura e di racchiudere il corpo delle istruzioni di controllo (if, for, while...) tra parentesi graffe. In pratica seguendo quanto appena detto avresti dovuto postare qualcosa del genere:
    #include <stdio.h>
    #include <string.h>
    
    int main ()
    {
        char str[] = "programmazione1";
        int n = strlen(str);
        for(int i = 0; i < n; i++)
        {
            if(i % 2)
            {
                continue;
            }
            printf( "%c", str);
        }
        return 0;
    }
    Detto questo:
    - sei sicura che sia
    printf("%c", str)
    e non
    printf( "%c", str[i])
    ?
    - se ho ben capito la tua previsione sull'output è program, giusto? Posso chiederti come sei arrivata a questa conclusione?
    - invece di chiedere sul forum se la tua interpretazione fosse corretta non sarebbe stato più facile compilare il programma, lanciarlo e osservarne l'output?!

    ho risolto grazie
Devi accedere o registrarti per scrivere nel forum
2 risposte