Δημοσιεύτηκε: 23 Ιούλ 2011, 19:01
Αυτός ο κώδικας τι πρόβλημα έχει;
και μου βγάζει error
Edit:
Επίσης μήπως μπορεί να μου εξηγήσει κάποιος τον παρακάτω κώδικα:
Δεν καταλαβαίνω τι κάνει το s[i] >= '0' && s[i] <= '9' και το n = 10 * n + (s[i] - '0')
Edit2:Μπορεί κάποιος να μου εξηγήσει πώς δουλεύει αυτή η συνάρτηση;
και επίσης δεν ξέρω πώς να υλοποιήσω την παρακάτω άσκηση, όχι λόγω κώδικα αλλά ως λογικής:
- Κώδικας: Επιλογή όλων
#include <stdio.h>
int fahr_2_celsius(int fahr)
{
float celsius = (5.0/9.0) * (fahr - 32);
return celsius;
}
int main(void)
{
int fahr;
printf("FAHR TO CELSIUS TABLE - THE C PROGRAMMING LANGUAGE\n");
for(fahr = 0;fahr <= 300;fahr += 20)
{
printf("%3d %6.1f\n",fahr,fahr_2_celsius(fahr));
}
return 0;
}
και μου βγάζει error
- Κώδικας: Επιλογή όλων
warning: format ‘%6.1f’ expects type ‘double’, but argument 3 has type ‘int’
Edit:
Επίσης μήπως μπορεί να μου εξηγήσει κάποιος τον παρακάτω κώδικα:
- Κώδικας: Επιλογή όλων
int atoi(char s[])
{
int i,n;
n = 0;
for (i = 0; s[i] >= '0' && s[i] <= '9'; ++i)
n = 10 * n + (s[i] - '0');
return n;
}
Δεν καταλαβαίνω τι κάνει το s[i] >= '0' && s[i] <= '9' και το n = 10 * n + (s[i] - '0')
Edit2:Μπορεί κάποιος να μου εξηγήσει πώς δουλεύει αυτή η συνάρτηση;
- Κώδικας: Επιλογή όλων
/* squeeze: delete all c from s */
void squeeze(char s[], char s2[])
{
int i, j;
for (i = j = 0; s[i] != '\0'; i++)
{
if (s[i] == s2[i])
{
s[j + 1] = s[i];
}
}
s[j] = '\0';
}
και επίσης δεν ξέρω πώς να υλοποιήσω την παρακάτω άσκηση, όχι λόγω κώδικα αλλά ως λογικής:
Spoiler: show