

0 / 2 embers
0 / 3000 xp
click for more info
Complete a lesson to start your streak
click for more info
Difficulty: 5
click for more info
Not enough gems
Cost: 6 gems
1: Welcome to Memory Management
incomplete
2: C Program Structure
incomplete
3: Interpreted Quiz
incomplete
4: C Is Compiled
incomplete
5: Comments
incomplete
6: Basic Types
incomplete
7: Strings
incomplete
8: Printing Variables
incomplete
9: Compilation: Types
incomplete
10: Variables
incomplete
11: Constants
incomplete
12: Functions
incomplete
13: Void
incomplete
14: Unit Tests
incomplete
15: Math Operators
incomplete
16: If Statements
incomplete
17: Logical Operators
incomplete
18: Ternary
incomplete
19: Type Sizes
incomplete
20: Sizeof
incomplete
21: For Loop
incomplete
22: While Loop
incomplete
23: Do While Loop
incomplete
24: Pragma Once and Header Guards
incomplete
Back
ctrl+,
Next
ctrl+.
This lesson's interactive features are locked, please to keep using them
In C, functions specify the types for their arguments and return value.
float add(int x, int y) {
return (float)(x + y);
}
float is the return type.add is the name of the function.int x, int y are the parameters to the function, and their types are specified.x + y adds the two arguments together.(float) casts the result to a float.
cast means later, and the rules for casting to and from certain types.x + y to a float value.Here's how you would call this function:
int main() {
float result = add(10, 5);
printf("result: %f\n", result);
// result: 15.000000
return 0;
}
It's nice that C functions enforce returning the same type from all return statements, isn't it? In Python, it can be a pain to realize that a function returns different types depending on the path it took.
Write a max_sneklang_memory function in the space provided. It should:
Multiplication is done with the * operator, just like most other languages.