Beta 0.35.0
Beta
Search
Dashboard
Learn
Exercises
Challenges
Compete
Visualizer
What's new
v0.35.0
Search
Search for a chapter, module, exercise, challenge, page, or profile
Dashboard
Learn
Exercises
Challenges
Compete
Visualizer
Sign in
Path
Learn C graph
Catalog preview
0%
Get started
0 / 5 modules
Structure your code
0 / 4 modules
Text
0 / 6 modules
Memory
0 / 3 modules
Your own types
0 / 5 modules
The machine
0 / 4 modules
The system
0 / 1 modules
First program
0 / 7
Read the error
0 / 5
Types and values
0 / 7
Conditions and loops
0 / 7
Command line
0 / 6
Functions
0 / 5
Recursion
0 / 6
Pointers
0 / 7
Arrays and matrices
0 / 7
Characters and ASCII
0 / 4
Strings: walking and…
0 / 6
Writing text without…
0 / 4
Words and tokens
0 / 4
Transforming text
0 / 5
Numbers and bases
0 / 6
Dynamic memory
0 / 5
Bytes and raw memory
0 / 4
Memory safety
0 / 6
Structs, unions, enu…
0 / 6
Headers and the prep…
0 / 3
Linked lists
0 / 4
Stacks, queues, trees
0 / 3
Generic code
0 / 3
Bits and representat…
0 / 4
Sorting and searching
0 / 7
Files and streams
0 / 3
Parsing and formats
0 / 4
Processes and signals
0 / 4
C foundations checkpo…
5 tasks · not ready
Code structure checkp…
4 tasks · not ready
Text handling checkpo…
5 tasks · not ready
Memory safety checkpo…
3 tasks · not ready
Types and data struct…
4 tasks · not ready
Machine model checkpo…
4 tasks · not ready
Processes and signals…
2 tasks · not ready
Chapter checkpoints
100%
Fit
Strings: walking and searching
A string is an array of bytes plus its terminator, and nothing more.
Required exercises
0 / 6
6 required exercises
·
7 optional
·
Difficulty 2 to 4
·
0 / 224 XP
Exercises · 13
Exercise
Level
XP
Status
find_n
Scan a string argument and print the first 'n' character found
+12
New
strlen
size_t strlen(const char *s)
+16
New
write_str
void write_str(char *str)
+16
New
strchr
char *strchr(const char *s, int c)
+16
New
strcspn
size_t strcspn(const char *s, const char *reject)
+16
New
strstr
char *strstr(const char *haystack, const char *needle)
+24
New
find_last_e
Optional
Display the last lowercase 'e' found in a string
+12
New
strrchr
Optional
char *strrchr(const char *s, int c)
+16
New
find_any_char
Optional
char *find_any_char(const char *text, const char *needles)
+16
New
prefix_span
Optional
size_t prefix_span(const char *text, const char *allowed)
+16
New
seq_scan
Optional
Check if the first string is a case-insensitive ordered subsequence of the second
+16
New
subseq_check
Optional
Check whether the first string is an ordered subsequence of the second, printing yes or no
+16
New
longest_palindrome
Optional
Print the longest palindromic substring contained in a string passed on the command line
+32
New
View module
Complete
Recommended now
In progress
Available
Learn checkpoint