Re: Lets Learn C by timtoday: 2:12am On Aug 17, 2016 |
stack1: Hi guyz, been a while. Sorry for the long break but i've been so busy with stuff.. Initially i thought about going into Formatted input and Output tonight, however we have covered quite some basics, so i felt why not throw in a relatively ambitious example and lets tackle it, before going into more advanced stuff
Languages belonging to the C family like C (itself), C++, Java, Go, JavaScript e.t.c, have certain similar features, like they all use both single line comments
// coment goes here ..this are also known as C++ style comments
and multi-line comments
/* * Lotta comments here. blah blah */
Generally comments are meant for human readers to better understand your code or to provide a means to generate documentation using various tools, so the compiler/interpreter generally ignores and discarded all comments.. The code below is an attempt at writing a Program that would remove all Single and multi-line comments from a program source code, so try it by feeding it various commented programs (not just C programs, also Java e.t.c) that you can find anywhere and lets see if it works for you.. Also try going through the code to see if you can get a hang of it, I'll be back in a few hours to go through it thoroughly.
Also when testing the program after posting your code press Ctrl+Z to send the End-Of-File character as the program would keep reading input till it reaches EOF, then it processes the input and spits back your code with all comments removed..
/* Program to remove comments from a C Program. removes both C and C++ style comments */
#include<stdio.h> #include<stdlib.h> #include<stdbool.h>
static unsigned char input_buffer[200000];
int main(void) {
int c,d, in_char_count = 0;
bool m_cmt = false; //multi-line comment detected, initially false bool s_cmt = false; //single-line comment detected, initially false
printf(" Enter Source Code Below \n\n" );
while((c = getchar()) != EOF ) {
if(m_cmt) {
c = getchar(); d = getchar();
while(c != '*' && d != '/') { c = d; d = getchar(); }
m_cmt = false;
c = getchar(); c = getchar(); }
if(s_cmt) { c = getchar(); while(c != '\n') c = getchar();
s_cmt = false;
}
if(c == '/' ) {
d = getchar();
if(d == '*') m_cmt = true;
else if(d=='/') s_cmt = true;
else { input_buffer[in_char_count++] =c; input_buffer[in_char_count++] = d;
continue; } }
if(m_cmt || s_cmt) continue; else input_buffer[in_char_count++] = c;
}
system("clear" ); /* CLEAR SCREEN ON UNIX/LINUX */ system("cls" ); /* CLEAR SCREEN ON DOS (..ooh windows i mean ) */
printf("\n\n\nProcessed source code...\n\n" );
input_buffer[in_char_count] = '\0';
printf("%s", input_buffer);
getchar();
return EXIT_SUCCESS;
}
In this example we included a new library header file you may have not seen before, stdbool.h , this header file simply introduces the Boolean types into our program, The Boolean type is a type that can hold two values either true or false, Boolean's can be used to represent state, like an on [/b]or [b]off [/b]state, or 0 and 1, Yes and No, in the example we simply use it to track when we are in single and multi-line comments and when we are out of them... so please run the example and lets discuss it. The boolean type wasn't originally part of C, and was introduced in the C99 version of the language Hi sir, I came to read gossips on NL and it happened that I came across your post again... So I said let me learn small. Below is my finding after testing the program you gave. If you test the program above with itself, ALL of the comments will be removed EXPECT this line system("clear" ); INUX */ So, that means a RED flag was raised and the program it is not working as we wanted. So, just as you asked I pulled in a lot of comments to see how the program will do. Like this below /* Program to remove comments from a C Program. removes both C and C++ style comments */
#include<stdio.h> #include<stdlib.h> #include<stdbool.h>
/**************************************************************** ***** THE PROGRAME SHOULD REMOVE COMMENTS *********************** *****************************************************************/
static unsigned char input_buffer[200000];
int main(void) {
int c,d, in_char_count = 0;
bool m_cmt = false; //multi-line comment detected, initially false bool s_cmt = false; //single-line comment detected, initially false
printf(" Enter Source Code Below \n\n" );
while((c = getchar()) != EOF ) {
/* ******************************************************************* ***************** We try to handle multiple lines here ************ ******************************************************************* */
if(m_cmt) {
c = getchar(); d = getchar();
while(c != '*' && d != '/') { c = d; d = getchar(); }
m_cmt = false;
c = getchar(); c = getchar(); }
if(s_cmt) { c = getchar(); while(c != '\n') c = getchar();
s_cmt = false;
}
if(c == '/' ) {
d = getchar();
if(d == '*') m_cmt = true;
else if(d=='/') s_cmt = true;
else { input_buffer[in_char_count++] =c; input_buffer[in_char_count++] = d;
continue; } }
if(m_cmt || s_cmt) continue; else input_buffer[in_char_count++] = c;
}
system("clear" ); /* CLEAR SCREEN ON UNIX/LINUX */ system("cls" ); /* CLEAR SCREEN ON DOS (..ooh windows i mean ) */
printf("\n\n\nProcessed source code...\n\n" );
input_buffer[in_char_count] = '\0';
printf("%s", input_buffer);
getchar();
return EXIT_SUCCESS;
}
Then the program tested again, and it failed badly! So, I adjusted it a bit. Since the program is failing on removing multiple comments, therefore I focused on that. Below is the rewrite if you will:
/* Program to remove comments from a C Program. removes both C and C++ style comments */
#include<stdio.h> #include<stdlib.h> #include<stdbool.h>
/**************************************************************** ***** THE PROGRAME SHOULD REMOVE COMMENTS *********************** *****************************************************************/
static unsigned char input_buffer[200000];
int main(void) {
/*****comments****/ int c,d, in_char_count = 0;
bool m_cmt = false; //multi-line comment detected, initially false bool s_cmt = false; //single-line comment detected, initially false
printf(" Enter Source Code Below \n\n" );
while((c = getchar()) != EOF ) {
/* ******************************************************************* ***************** We try to handle multiple lines here ************ ******************************************************************* */ if(m_cmt) {
c = getchar();
while(c != '/') { c = getchar(); }
c = getchar(); if ( c != '\n') continue; m_cmt = false; }
if(s_cmt) { c = getchar(); while(c != '\n') c = getchar();
s_cmt = false;
}
if(c == '/' ) {
d = getchar();
if(d == '*') m_cmt = true;
else if(d=='/') s_cmt = true;
else { input_buffer[in_char_count++] =c; input_buffer[in_char_count++] = d;
continue; } }
if(m_cmt || s_cmt) continue; else input_buffer[in_char_count++] = c;
}
system("clear" ); /* CLEAR SCREEN ON UNIX/LINUX */ system("cls" ); /* CLEAR SCREEN ON DOS (..ooh windows i mean ) */
printf("\n\n\nProcessed source code...\n\n" );
input_buffer[in_char_count] = '\0';
printf("%s", input_buffer);
getchar();
return EXIT_SUCCESS;
}
Then tested the program against itself and I had what we wanted! I would rather have preferred reading a whole line at a time then parse it, than hand-picking char like we are doing... I understand that since you have not explain File I/O in C, that maybe difficult for the readers to use. since we must be tested on what we have discussed do far. That is good. But I believe parsing is a lot easier using chunks instead. Nice one bros.... Keep Up the great work... |
Re: Lets Learn C by stack1(m): 7:01am On Aug 17, 2016 |
timtoday:
Hi sir,
I came to read gossips on NL and it happened that I came across your post again... So I said let me learn small. Below is my finding after testing the program you gave.
If you test the program above with itself, ALL of the comments will be removed EXPECT this line
So, that means a RED flag was raised and the program it is not working as we wanted.
So, just as you asked I pulled in a lot of comments to see how the program will do. Like this below
/* Program to remove comments from a C Program. removes both C and C++ style comments */
#include<stdio.h> #include<stdlib.h> #include<stdbool.h>
/**************************************************************** ***** THE PROGRAME SHOULD REMOVE COMMENTS *********************** *****************************************************************/
static unsigned char input_buffer[200000];
int main(void) {
int c,d, in_char_count = 0;
bool m_cmt = false; //multi-line comment detected, initially false bool s_cmt = false; //single-line comment detected, initially false
printf(" Enter Source Code Below \n\n" );
while((c = getchar()) != EOF ) {
/* ******************************************************************* ***************** We try to handle multiple lines here ************ ******************************************************************* */
if(m_cmt) {
c = getchar(); d = getchar();
while(c != '*' && d != '/') { c = d; d = getchar(); }
m_cmt = false;
c = getchar(); c = getchar(); }
if(s_cmt) { c = getchar(); while(c != '\n') c = getchar();
s_cmt = false;
}
if(c == '/' ) {
d = getchar();
if(d == '*') m_cmt = true;
else if(d=='/') s_cmt = true;
else { input_buffer[in_char_count++] =c; input_buffer[in_char_count++] = d;
continue; } }
if(m_cmt || s_cmt) continue; else input_buffer[in_char_count++] = c;
}
system("clear" ); /* CLEAR SCREEN ON UNIX/LINUX */ system("cls" ); /* CLEAR SCREEN ON DOS (..ooh windows i mean ) */
printf("\n\n\nProcessed source code...\n\n" );
input_buffer[in_char_count] = '\0';
printf("%s", input_buffer);
getchar();
return EXIT_SUCCESS;
}
Then the program tested again, and it failed badly!
So, I adjusted it a bit. Since the program is failing on removing multiple comments, therefore I focused on that.
Below is the rewrite if you will:
/* Program to remove comments from a C Program. removes both C and C++ style comments */
#include<stdio.h> #include<stdlib.h> #include<stdbool.h>
/**************************************************************** ***** THE PROGRAME SHOULD REMOVE COMMENTS *********************** *****************************************************************/
static unsigned char input_buffer[200000];
int main(void) {
/*****comments****/ int c,d, in_char_count = 0;
bool m_cmt = false; //multi-line comment detected, initially false bool s_cmt = false; //single-line comment detected, initially false
printf(" Enter Source Code Below \n\n" );
while((c = getchar()) != EOF ) {
/* ******************************************************************* ***************** We try to handle multiple lines here ************ ******************************************************************* */ if(m_cmt) {
c = getchar();
while(c != '/') { c = getchar(); }
c = getchar(); if ( c != '\n') continue; m_cmt = false; }
if(s_cmt) { c = getchar(); while(c != '\n') c = getchar();
s_cmt = false;
}
if(c == '/' ) {
d = getchar();
if(d == '*') m_cmt = true;
else if(d=='/') s_cmt = true;
else { input_buffer[in_char_count++] =c; input_buffer[in_char_count++] = d;
continue; } }
if(m_cmt || s_cmt) continue; else input_buffer[in_char_count++] = c;
}
system("clear" ); /* CLEAR SCREEN ON UNIX/LINUX */ system("cls" ); /* CLEAR SCREEN ON DOS (..ooh windows i mean ) */
printf("\n\n\nProcessed source code...\n\n" );
input_buffer[in_char_count] = '\0';
printf("%s", input_buffer);
getchar();
return EXIT_SUCCESS;
}
Then tested the program against itself and I had what we wanted! I would rather have preferred reading a whole line at a time then parse it, than hand-picking char like we are doing...
I understand that since you have not explain File I/O in C, that maybe difficult for the readers to use. since we must be tested on what we have discussed do far. That is good. But I believe parsing is a lot easier using chunks instead.
Nice one bros.... Keep Up the great work... its funny how stuff could work in one enviroment and not another, am testing right now with your input... but thanks so so much.. |
Re: Lets Learn C by stack1(m): 7:16am On Aug 17, 2016 |
timtoday:
Hi sir,
I came to read gossips on NL and it happened that I came across your post again... So I said let me learn small. Below is my finding after testing the program you gave.
If you test the program above with itself, ALL of the comments will be removed EXPECT this line
So, that means a RED flag was raised and the program it is not working as we wanted.
So, just as you asked I pulled in a lot of comments to see how the program will do. Like this below
/* Program to remove comments from a C Program. removes both C and C++ style comments */
#include<stdio.h> #include<stdlib.h> #include<stdbool.h>
/**************************************************************** ***** THE PROGRAME SHOULD REMOVE COMMENTS *********************** *****************************************************************/
static unsigned char input_buffer[200000];
int main(void) {
int c,d, in_char_count = 0;
bool m_cmt = false; //multi-line comment detected, initially false bool s_cmt = false; //single-line comment detected, initially false
printf(" Enter Source Code Below \n\n" );
while((c = getchar()) != EOF ) {
/* ******************************************************************* ***************** We try to handle multiple lines here ************ ******************************************************************* */
if(m_cmt) {
c = getchar(); d = getchar();
while(c != '*' && d != '/') { c = d; d = getchar(); }
m_cmt = false;
c = getchar(); c = getchar(); }
if(s_cmt) { c = getchar(); while(c != '\n') c = getchar();
s_cmt = false;
}
if(c == '/' ) {
d = getchar();
if(d == '*') m_cmt = true;
else if(d=='/') s_cmt = true;
else { input_buffer[in_char_count++] =c; input_buffer[in_char_count++] = d;
continue; } }
if(m_cmt || s_cmt) continue; else input_buffer[in_char_count++] = c;
}
system("clear" ); /* CLEAR SCREEN ON UNIX/LINUX */ system("cls" ); /* CLEAR SCREEN ON DOS (..ooh windows i mean ) */
printf("\n\n\nProcessed source code...\n\n" );
input_buffer[in_char_count] = '\0';
printf("%s", input_buffer);
getchar();
return EXIT_SUCCESS;
}
Then the program tested again, and it failed badly!
So, I adjusted it a bit. Since the program is failing on removing multiple comments, therefore I focused on that.
Below is the rewrite if you will:
/* Program to remove comments from a C Program. removes both C and C++ style comments */
#include<stdio.h> #include<stdlib.h> #include<stdbool.h>
/**************************************************************** ***** THE PROGRAME SHOULD REMOVE COMMENTS *********************** *****************************************************************/
static unsigned char input_buffer[200000];
int main(void) {
/*****comments****/ int c,d, in_char_count = 0;
bool m_cmt = false; //multi-line comment detected, initially false bool s_cmt = false; //single-line comment detected, initially false
printf(" Enter Source Code Below \n\n" );
while((c = getchar()) != EOF ) {
/* ******************************************************************* ***************** We try to handle multiple lines here ************ ******************************************************************* */ if(m_cmt) {
c = getchar();
while(c != '/') { c = getchar(); }
c = getchar(); if ( c != '\n') continue; m_cmt = false; }
if(s_cmt) { c = getchar(); while(c != '\n') c = getchar();
s_cmt = false;
}
if(c == '/' ) {
d = getchar();
if(d == '*') m_cmt = true;
else if(d=='/') s_cmt = true;
else { input_buffer[in_char_count++] =c; input_buffer[in_char_count++] = d;
continue; } }
if(m_cmt || s_cmt) continue; else input_buffer[in_char_count++] = c;
}
system("clear" ); /* CLEAR SCREEN ON UNIX/LINUX */ system("cls" ); /* CLEAR SCREEN ON DOS (..ooh windows i mean ) */
printf("\n\n\nProcessed source code...\n\n" );
input_buffer[in_char_count] = '\0';
printf("%s", input_buffer);
getchar();
return EXIT_SUCCESS;
}
Then tested the program against itself and I had what we wanted! I would rather have preferred reading a whole line at a time then parse it, than hand-picking char like we are doing...
I understand that since you have not explain File I/O in C, that maybe difficult for the readers to use. since we must be tested on what we have discussed do far. That is good. But I believe parsing is a lot easier using chunks instead.
Nice one bros.... Keep Up the great work... hmm, nice i am currently testing on your input, and why it really seems to work better that my version, you tested for a newline aftermatching the end of a multiline comment, this is a case that could easily be broken by doing something like
int a, b /** comment here **/ c;
It would remove the comment yeah, but would eat up everything else till the end of the line, so i'll make some adjustment based on your feedback.. Thanks a lot man its folks like you that keeps this arduous thread alive, would update as soon as i can get it to work |
Re: Lets Learn C by stack1(m): 8:01am On Aug 17, 2016 |
Thanks again for the feedback @timtoday, i have made modifications and this version seems to work pretty well, tested it on your input and a host of others
/* Program to remove comments from a C Program. removes both C and C++ style comments */
#include<stdio.h> #include<stdlib.h> #include<stdbool.h>
static unsigned char input_buffer[200000];
int main(void) {
int c,d, in_char_count = 0;
bool m_cmt = false; bool s_cmt = false;
printf(" Enter Source Code Below \n\n" );
while((c = getchar()) != EOF ) {
if(m_cmt) { d = c; c = getchar();
while(c != '/') {//while we haven' matched the end of the C style (multi-line) loop d = c; c = getchar(); }
if(d == '*') //if we matched the end of a C style loop, the previous char must be *, to form */ m_cmt = false, input_buffer[in_char_count++] = ' '; //ISO C says a single space character should replace each multi-line comment
c = getchar();
}
if(s_cmt) { c = getchar(); while(c != '\n') c = getchar();
s_cmt = false;
}
if(c == '/' ) {
d = getchar();
if(d == '*') m_cmt = true;
else if(d=='/') s_cmt = true;
else { input_buffer[in_char_count++] =c; input_buffer[in_char_count++] = d;
continue; } }
if(m_cmt || s_cmt) continue; else input_buffer[in_char_count++] = c;
}
system("clear" ); /* CLEAR SCREEN UNIX */ system("cls" ); /* CLEAR SCREEN DOS */
printf("\n\n\nProcessed source code...\n\n" );
input_buffer[in_char_count] = '\0';
printf("%s", input_buffer);
getchar();
return EXIT_SUCCESS;
}
|
Re: Lets Learn C by stack1(m): 8:16am On Aug 17, 2016 |
ok .. so waiting for test's and confirmation from anyone on the modified program before i proceed with the explanation |
Re: Lets Learn C by timtoday: 8:52am On Aug 17, 2016 |
stack1: ok .. so waiting for test's and confirmation from anyone on the modified program before i proceed with the explanation Stack1, Well done. I see your comments. Like I said we would be using all manner of "Brute force" solutions handpicking char, instead of token solution. We could even give a solution without using either bool datatype or an array like you are using. But it will be many "key-stoke" solution. More over, I saw that you have "stylishly" updated the comments having /**** UNIX/LINUX ***/ But I have not tested the modified code to see if it works... Nice work bro, I will check back later... got to sleep! |
Re: Lets Learn C by stack1(m): 9:27am On Aug 17, 2016 |
timtoday:
Stack1, Well done. I see your comments. Like I said we would be using all manner of "Brute force" solutions handpicking char, instead of token solution. We could even give a solution without using either bool datatype or an array like you are using.
But it will be many "key-stoke" solution.
More over, I saw that you have "stylishly" updated the comments having /**** UNIX/LINUX ***/ But I have not tested the modified code to see if it works...
Nice work bro, I will check back later... got to sleep! LOL oya o, Brute force am, and the Unix/Linux comment, nah thats wasn't a stylish edit oo, anyway waitting for your feedback |
Re: Lets Learn C by isidollarboy(m): 5:08pm On Aug 17, 2016 |
Oga stack1, i see u mentioned a book "how to program by deitel" do u know where i can get the book in lagos? |
Re: Lets Learn C by stack1(m): 5:43pm On Aug 17, 2016 |
isidollarboy: Oga stack1, i see u mentioned a book "how to program by deitel" do u know where i can get the book in lagos? Nope but you can get the PDF online, the 7th edition is available online, however while i think the Deitel series are great they're not my recommended book for C++ try Bruce Eckel's Thinking in C++, they would give you a very thorough grounding and Bashing in C++ http://www.cs.ust.hk/~dekai/library/ECKEL_Bruce/You'll get the vol1 & vol2 for the 2nd edition there |
Re: Lets Learn C by isidollarboy(m): 7:34pm On Aug 17, 2016 |
stack1:
Nope but you can get the PDF online, the 7th edition is available online, however while i think the Deitel series are great they're not my recommended book for C++ try Bruce Eckel's Thinking in C++, they would give you a very thorough grounding and Bashing in C++ http://www.cs.ust.hk/~dekai/library/ECKEL_Bruce/
You'll get the vol1 & vol2 for the 2nd edition there Thanks for your prompt response, if we have more people like you, i think our dear country would have been transformed already with technologies.. I have downloaded it, what kind of file extension is it as i didn't see app that could open it. Thanks |
Re: Lets Learn C by stack1(m): 8:00pm On Aug 17, 2016 |
isidollarboy: Thanks for your prompt response, if we have more people like you, i think our dear country would have been transformed already with technologies.. I have downloaded it, what kind of file extension is it as i didn't see app that could open it. Thanks y hmm i thought it was a zip file so windows explorer should be able to open it , well try WinRar or 7-zip they open a whole lot of archive file formats.. good luck |
Re: Lets Learn C by isidollarboy(m): 8:55pm On Aug 17, 2016 |
stack1: y
hmm i thought it was a zip file so windows explorer should be able to open it , well try WinRar or 7-zip they open a whole lot of archive file formats.. good luck extracted already with two folders in it but in those folders, the files in it has an extension of ".cpp" so which app can solve it. Thanks |
Re: Lets Learn C by stack1(m): 9:28pm On Aug 17, 2016 |
isidollarboy: extracted already with two folders in it but in those folders, the files in it has an extension of ".cpp" so which app can solve it. Thanks not so sure u downloaded d right thing, ok here's the link for volume 1 of the book you can start with that.. https://drive.google.com/open?id=0B_OBMh7vaCg0aTE4dmV0ei03YzQi put it up on my Google drive.. so download and enjoy |
Re: Lets Learn C by stack1(m): 12:00am On Aug 18, 2016 |
might not post for a few day's, almost out if data here, but by or b4 weekend would be back |
Re: Lets Learn C by timtoday: 12:19am On Aug 18, 2016 |
stack1: might not post for a few day's, almost out if data here, but by or b4 weekend would be back Hello, Take your time.. On the upgraded program I think it works better now.. And like I mentioned previously, one can also do this: #include <stdio.h>
int main(void) {
int ch, temp;
while ((ch = getchar()) != EOF) {
// get the beginning of the comments if (ch == '/') { temp = ch; // temp variable ch = getchar();
// for multiple line if (ch == '*') { ch = getchar(); while(ch != '*') ch = getchar();
ch = getchar(); while (ch != '/') ch = getchar(); }
// for a single line of comment C++ style else if (ch == '/') { ch = getchar(); while(ch != '\n') ch = getchar(); putchar('\n'); } else { putchar(temp); putchar(ch); } } else { putchar(ch); } } return 0; }
The above should also work as intended.. So, enjoy yourself... later bro... 1 Like |
Re: Lets Learn C by stack1(m): 3:17pm On Oct 18, 2016 |
Hey guyz , hope Una never vex, d recession has being biting hard o, I just dey recover , would be resuming posts in a few days |
Re: Lets Learn C by Nobody: 3:52pm On Oct 18, 2016 |
Is alright, you are most welcome. No mind me TROLLING all over the board, the recession thing catch me sef o. |
Re: Lets Learn C by kodded(m): 10:00pm On Jan 06, 2017 |
stack1: Hey guyz , hope Una never vex, d recession has being biting hard o, I just dey recover , would be resuming posts in a few days oga stack your days don turn to years o ...PS I love the way you teach this c programming, I suggest you write a book or an ebook and sell it to undergraduate that will come across programming in their courses, probably like an app where you explain the c programming Language, and also the emulator to execute each command as practicals inside that same app |
Re: Lets Learn C by isidollarboy(m): 9:48am On Mar 31, 2017 |
We are waiting, i wondered why una abandon us for here |
Re: Lets Learn C by stack1(m): 10:35am On Apr 02, 2017 |
Guys am so sorry, been have quite some challenges, promise to resume this month, please i apologize for the extra long Delay. Also been busy with work generally, but am starting to settle down so just gimme a few weeks within the month we are resuming |
Re: Lets Learn C by stack1(m): 10:37am On Apr 02, 2017 |
Thanks for your patience |
Re: Lets Learn C by stack1(m): 4:50pm On Apr 14, 2017 |
Hey folks, aplologies here, but its seems its time i'll have to pull the plug on this, cant cope with my timeline and needed resources, except i'll have to moneytize it. So if anyone is intrested contact me, it could still be here or elsewhere |
Re: Lets Learn C by teeshawt(m): 3:57am On Jan 05, 2018 |
Hello |
Re: Lets Learn C by Nobody: 12:38pm On Jan 06, 2018 |
mojeed4:
Really? That's rude? I think that sounds more like a word to qualify you. leave and lets enjoy his thread Improved classes FunctionaL and structured coding Oop Os evoLution |
Re: Lets Learn C by tollyboy5(m): 12:02pm On Jan 11, 2018 |
Lemme join here |
Re: Lets Learn C by Nobody: 12:23pm On Jan 11, 2018 |
make I sit down here first
*following |
Re: Lets Learn C by Imimperfect(m): 1:46am On Mar 20, 2018 |
Hey bro I just discovered this thread am a newbie in the programming world I'd love to thread under your mentorship Please how do I contact you? My mobile is 08088432076 I'd be grateful if you can message me or drop a means through which I can reach you.thanks. |
|
Re: Lets Learn C by Wapgod(m): 9:16pm On Jun 12, 2018 |
Imimperfect: Hey bro I just discovered this thread am a newbie in the programming world I'd love to thread under your mentorship Please how do I contact you? My mobile is 08088432076 I'd be grateful if you can message me or drop a means through which I can reach you.thanks. Hello If you want to learn c programming download the k&r c programming language ebook and codeblocks and read the book from the beginning to the end doing most of the exercises. You can download ebooks from libgen.io |