Ciao a tutti,
ho appena cominciato a studiare il C e da pochi giorni ho incontrato i puntatori. Ho cercato di scrivere una piccola calcolatrice ma mi restituisce un warning oltre a non funzionare ovviamente -.- solo che non capisco dove sia il problema....
#include <stdio.h>
#include <ctype.h>
#define MAX 1000
void clean(char *r, int *i);
int issign(char s);
void main(){
int i=0, lenght=0, num[MAX];
float result;
char c, r[MAX], s;
while( (c=getchar())!= '\n'){
if(isdigit(c) == 1){
r[lenght++] = c;
}
else if (c==' '){}
else
{num[i++] = atoi(r);
clean(&r[0], &lenght);
if(issign(c)){
s=c;}
}}
switch(s){
case '+':
result= num[0] + num[2];
break;
case '-':
result= num[0] - num[2];
break;
case '/':
result= num[0] / num[2];
break;
case '*':
result= num[0] * num[2];
break;
}
printf("The result is %f", result);
}
void clean(char *r, int *i){
for ( ; *i > 0; *i--, r++){
*r = NULL;
}}
int issign(char s){
if(s == '+' || s == '-' || s == '/' || s == '*')
return 1;
else
return 0;}
Grazie a tutti =)