/printf_made_easy

Primary LanguageCGNU General Public License v3.0GPL-3.0

printf() Made Easy

About

This project aims at implementing the C standard library printf() function in a way that is more readable and easy to understand, such that one can learn the logic and algorithm and not float or get totally confused at the sight of it. We came up with this project in a bid to make the renowned and dreaded ALX printf() project easier for as many as will really dedicate their time to doing hard things.

Note that: one has to have certain knowledge of C programming as prerequisites for these codes to make sense; students of ALX SE can relate.

Prerequisite Knowledge

Try not to be overwhelmed at this point but the concepts that you should have practically learned before attempting the printf() project on your own include:

  • Variables
  • Conditional statements (if-else)
  • Loops and nested loops (for, while, do-while)
  • Functions (return values, header files betty coding style)
  • Debugging (finding and fixing errors in programs)
  • Pointers, arrays and strings
  • Double pointers and function pointers
  • Preprocessor directives, macros and ternary operators
  • Recursion
  • Dynamic memory allocation (malloc(), free())
  • Structures (struct and typedef)
  • Variadic functions
  • The secrets of printf(); exactly how it works, what it returns, and some of its rarely used functionalities

Hello! Don't be scared now; if you know 30% - 40% of the things listed above, you're doing well, just move on, give it your very best and have the grit mindset

Technologies

It is important you note that we were not too concerned about certain standard as much as we were concerned about transferring the knowledge, betty needed some rest so the betty coding style was violated to some extent.

The programs were written on the command line of a Linux distro, Ubuntu 22.04.2, and the source codes were compiled with bare gcc (gcc with no options, except -o for the output), made to comply with c99 standard to a large extent.

Challenge Statement

loading...

Logic and Algorithm

loading...

Usage

loading...

Conclusion

loading...

A CodeTrybe Project