diff options
author | Adam Carpenter <gitlab@53hor.net> | 2019-07-23 12:09:24 -0400 |
---|---|---|
committer | Adam Carpenter <gitlab@53hor.net> | 2019-07-23 12:09:24 -0400 |
commit | 552bc70b77d4fca54929b46190128721b93d887c (patch) | |
tree | 2793d5aff4fce6b27e1056f89b09b52d41134a4b /ch2/2-02.c | |
parent | e41bafc5885aac630b6d19893e9c80cc334497c2 (diff) | |
download | learning-c-552bc70b77d4fca54929b46190128721b93d887c.tar.xz learning-c-552bc70b77d4fca54929b46190128721b93d887c.zip |
Cleaned up directory.
Diffstat (limited to 'ch2/2-02.c')
-rw-r--r-- | ch2/2-02.c | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/ch2/2-02.c b/ch2/2-02.c new file mode 100644 index 0000000..52b0a2e --- /dev/null +++ b/ch2/2-02.c @@ -0,0 +1,46 @@ +#include<stdio.h> + + +#define MAX_LEN 10 + + +/* + * Reads STDIN into string s. Is allowed to use && and ||. + */ +void getline_with_ops(char s[]) { + char c; + int i; + int lim = MAX_LEN; + + for (i = 0; i < lim - 1 && (c = getchar()) != '\n' && c != EOF; ++i) + s[i] = c; + + s[i] = '\0'; +} + + +/* + * Reads STDIN into string s. Is not allowed to use && or ||. + */ +void getline_without_ops(char s[]) { + char c; + int i; + int lim = MAX_LEN; + + for (i = 0; i < lim - 1; ++i) + if ((c = getchar()) != '\n') + if (c != EOF) + s[i] = c; + + s[i] = '\0'; +} + + +int main() { + char s[MAX_LEN]; + + //getline_with_ops(s); + getline_without_ops(s); + + printf("%s\n", s); +} |