Nuovo problema con i puntatori, c'è sempre un errore a livello concettuale.

codice:
/*Valore assoluto


Scrivete una funzione con prototipo
void abs( int *a)
che trasformi il valore dell'intero puntato da a in valore assoluto. 
Quindi se la variabile puntata da a vale -5, dopo aver chiamato la funzione, la variabile puntata da a diventerebbe 5. */


#include<stdio.h>


int abs (int *a) {
int tmp;
tmp=*a;
if (tmp<0) {
*a=-(tmp);
printf("nuovo risultato %d",*a);
}
else {
printf("nuovo risultato %d",*a);
}
}




int main (){
int val;
printf("inserisci numero da trasformare \n");
scanf("%d",&val);
abs(&val);


return 0;
}