Starting tinkering with text

This commit is contained in:
Jack-Benny Persson 2015-10-14 02:26:35 +02:00
parent 5f40a4bfe1
commit 3d602be8f5
3 changed files with 60 additions and 0 deletions

10
vagen_till_c/ch2/text1.c Normal file
View File

@ -0,0 +1,10 @@
#include <stdio.h>
int main()
{
char name[20];
printf("Enter your name: ");
// scanf("%s", name); // Unsafe since name is limited to 20 characters
scanf("%19s", name); // Much safer
printf("Hello %s\n", name);
}

23
vagen_till_c/ch2/text2.c Normal file
View File

@ -0,0 +1,23 @@
#include <stdio.h>
/* Instead of scanf we use getchar to be able to read the entire name, including
* spaces in between first- and lastname.
*/
int main()
{
char name[20], c;
int i;
printf("Enter your name: ");
i = 0; // Start with i = 0 for name
while ((c = getchar()) != '\n') // Get characters for as long as it's not a
{ // newline character.
name[i] = c; // For each loop, put 'c' into name[i] where
i++; // 'i' is it's current position, increase i
} // for each itteration.
name[i] = '\0'; // Then put a '\0' character at the end of
printf("Hello %s\n", name); // name to declare end of text.
return 0;
}

View File

@ -0,0 +1,27 @@
#include <stdio.h>
/* Instead of scanf we use getchar to be able to read the entire name, including
* spaces in between first- and lastname.
*/
int main()
{
char name[20], c;
int i;
printf("Enter your name: ");
i = 0; // Start with i = 0 for name
while ((c = getchar()) != '\n') // Get characters for as long as it's not a
{ // newline character.
name[i] = c; // For each loop, put 'c' into name[i] where
i++; // 'i' is it's current position, increase i
if ( i >= 19 ) // for each itteration.
{
break; // If we exceed 19 characters, break out of
} // loop to avoid overflow.
}
name[i] = '\0'; // Then put a '\0' character at the end of
printf("Hello %s\n", name); // name to declare end of text.
return 0;
}