void imprimeSoma(int valor1, int valor2) { //preferi mudar o nome do que mudar a função
printf("\nSoma: %d", valor1
+ valor2
); }
void imprimeSubtracao(int valor1, int valor2) { //se mantiver subtrai, não poderia imprimir
printf("\nSubtracao: %d", valor1
- valor2
); }
int pegaValor(char *texto) {
int valor;
return valor;
}
int main(void) {
int valor1 = pegaValor("Valor 1:"); //é mais procedural deixar a variável local
int valor2 = pegaValor("Valor 2:");
imprimeSoma(valor1, valor2); //os dados devem ser locais e passados para funções
imprimeSubtracao(valor1, valor2); //a função comunica com parâmetros
}
dm9pZCBpbXByaW1lU29tYShpbnQgdmFsb3IxLCBpbnQgdmFsb3IyKSB7IC8vcHJlZmVyaSBtdWRhciBvIG5vbWUgZG8gcXVlIG11ZGFyIGEgZnVuw6fDo28KICAgIHByaW50ZigiXG5Tb21hOiAlZCIsIHZhbG9yMSArIHZhbG9yMik7Cn0Kdm9pZCBpbXByaW1lU3VidHJhY2FvKGludCB2YWxvcjEsIGludCB2YWxvcjIpIHsgLy9zZSBtYW50aXZlciBzdWJ0cmFpLCBuw6NvIHBvZGVyaWEgaW1wcmltaXIKICAgIHByaW50ZigiXG5TdWJ0cmFjYW86ICVkIiwgdmFsb3IxIC0gdmFsb3IyKTsKfQppbnQgcGVnYVZhbG9yKGNoYXIgKnRleHRvKSB7CiAgICBwcmludGYodGV4dG8pOwogICAgaW50IHZhbG9yOwogICAgc2NhbmYoIiAlZCIsICZ2YWxvcik7CglwcmludGYoIlxuIik7CiAgICByZXR1cm4gdmFsb3I7Cn0KaW50IG1haW4odm9pZCkgewogICAgaW50IHZhbG9yMSA9IHBlZ2FWYWxvcigiVmFsb3IgMToiKTsgLy/DqSBtYWlzIHByb2NlZHVyYWwgZGVpeGFyIGEgdmFyacOhdmVsIGxvY2FsCglpbnQgdmFsb3IyID0gcGVnYVZhbG9yKCJWYWxvciAyOiIpOwogICAgaW1wcmltZVNvbWEodmFsb3IxLCB2YWxvcjIpOyAvL29zIGRhZG9zIGRldmVtIHNlciBsb2NhaXMgZSBwYXNzYWRvcyBwYXJhIGZ1bsOnw7VlcwogICAgaW1wcmltZVN1YnRyYWNhbyh2YWxvcjEsIHZhbG9yMik7IC8vYSBmdW7Dp8OjbyBjb211bmljYSBjb20gcGFyw6JtZXRyb3MKfQ==