Jump to content

Perceber output de programa


Recommended Posts

Posted

Alguém me pode explicar como este exercício tem o resultado 1411001?

#include<stdio.h>
int i;
int f1(int *i){
    printf("%d",*i);
    *i=*i+1;
    *i=*i%2;
    return *i;
}
int f2(int i){
    printf("%d",i);
    i=i+1;
    i=i%2;
    return i;
}
void f3(int i,int *r){
    printf("%d",i);
    i=i+1;
    *r=i;
}
int main(void){
    i=14;
    i=f1(&i);
    printf("%d",i);
    i=f2(i);
    printf("%d",i);
    f3(i,&i);
    printf("%d",i);
    return 0;
}
Posted (edited)

Eu vejo várias coisas sem lógica nesse código!

Porque é que declaras uma variável global e depois a passas por parâmetro para dentro de funções!!!

Porque é que usas o "*" para aceder ao conteúdo da variável, se ela é uma variavel global?

Porque é que usas o "return" para devolver o valor da variável se ela é uma variável global?

 

Mas qual é mesmo o objectivo do programa?

Edited by PsySc0rpi0n

Kurt Cobain - Grunge misses you

Nissan GT-R - beast killer

Posted
12 hours ago, PsySc0rpi0n said:

Mas qual é mesmo o objectivo do programa?

ver se a pessoa percebe a passagem de argumentos das funções

IRC : sim, é algo que ainda existe >> #p@p
Posted

Mas o aquele código e o resultado foi dado num exame e pedia para explicar o resultado do programa, era isso?

Kurt Cobain - Grunge misses you

Nissan GT-R - beast killer

Posted
6 hours ago, PsySc0rpi0n said:

Mas o aquele código e o resultado foi dado num exame e pedia para explicar o resultado do programa, era isso?

pelo que dá a entender

IRC : sim, é algo que ainda existe >> #p@p
Posted
2 minutes ago, HappyHippyHippo said:

pelo que dá a entender

A mim apetecia-me responder nesse teste/exame como respondi lá trás... Que não faz muito sentido declarar variáveis globais para entender a passagem parâmetros para funções!

Kurt Cobain - Grunge misses you

Nissan GT-R - beast killer

Posted
Just now, PsySc0rpi0n said:

A mim apetecia-me responder nesse teste/exame como respondi lá trás... Que não faz muito sentido declarar variáveis globais para entender a passagem parâmetros para funções!

respondias isso e tinhas nega

IRC : sim, é algo que ainda existe >> #p@p
Posted
Just now, HappyHippyHippo said:

respondias isso e tinhas nega

Acredito, mas aquilo para mim acho que não faz grande sentido!

Kurt Cobain - Grunge misses you

Nissan GT-R - beast killer

Posted
Em 10/12/2016 às 20:47, valeria disse:

eu não percebo nada de programação comecei a dar na faculdade e tenho dificuldade

É muito pouco provável que tenhas começado programação logo por este tema. Como estão as restantes bases? E de qualquer modo, percebes o significado de todos os símbolos que aparecem junto aos nomes das variáveis? coisas como *i e &i.

 

16 minutos atrás, PsySc0rpi0n disse:

Acredito, mas aquilo para mim acho que não faz grande sentido!

O exercício tem um objectivo muito definido -- se achas que não faz sentido então não compreendeste o que o exercício está a tentar testar no programador. Olha para lá novamente e presta atenção à forma como as diferentes funções recebem os seus argumentos e que consequências isso tem na sua execução.

  • Vote 1
Posted
5 hours ago, pwseo said:

É muito pouco provável que tenhas começado programação logo por este tema. Como estão as restantes bases? E de qualquer modo, percebes o significado de todos os símbolos que aparecem junto aos nomes das variáveis? coisas como *i e &i.

 

O exercício tem um objectivo muito definido -- se achas que não faz sentido então não compreendeste o que o exercício está a tentar testar no programador. Olha para lá novamente e presta atenção à forma como as diferentes funções recebem os seus argumentos e que consequências isso tem na sua execução.

Eu vi como os parâmetros foram passados, mas para mim não faz sentido declarar uma variável global para depois fazer aquele código!

Kurt Cobain - Grunge misses you

Nissan GT-R - beast killer

Posted
13 horas atrás, PsySc0rpi0n disse:

Eu vi como os parâmetros foram passados, mas para mim não faz sentido declarar uma variável global para depois fazer aquele código!

Como faria sentido para ti, então? 🙂 Relembro que o objectivo do exercício é perceber como a passagem de argumentos pode ter afectar o comportamento das variáveis locais a uma função, podendo as a alterações às mesmas reflectir-se (ou não) em variáveis externas (neste caso, globais).

Posted (edited)

Ok, assim já me calo! 🙂

Edited by PsySc0rpi0n

Kurt Cobain - Grunge misses you

Nissan GT-R - beast killer

Posted
2 minutos atrás, PsySc0rpi0n disse:

Ok, assim já me calo! 🙂

Eu sei que à primeira vista pode parecer um exercício estranho, sem utilidade, mas na realidade é um exercício curioso. Aliás, sugiro até que tentes resolver em papel e ver se chegas ao resultado que foi dado acima. Dá que pensar 🙂

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.