-1

For example, when you want to get input from user in Java, you simply use Scanner in = new Scanner, now I want to get input from user which is gonna input using echo command, such as echo 2 3 | sh addition, what C commands do I put in my script so that it reads the 2 and 3? Thanks!

P7GAB
  • 29
  • 5
  • Step one is to learn the language. Here's a [list of books](http://stackoverflow.com/a/562377/3386109) to help you get started. – user3386109 Feb 05 '16 at 04:27

2 Answers2

0

C

echo 2 3 | sh addition basicially means "input 2, a space and 3 into the command sh addition", which means you should be able to read 2 and 3 in your program as it is manually typed in.

However, sh addition means excuting a shell script which is not C. A C program could be excuted directly with its file name, i.e. ./a.out where a.out is your program. So the following program:

#include <stdio.h>

int main () {
    int a, b;
    scanf("%d %d", &a, &b);
    printf("%d + %d = %d\n", a, b, a+b);
    return 0;
}

Should do what you want. After you compile it to a excutable, for example a.out, you can run it by

echo 2 3 | ./a.out

Shell script

sh addition means run a shell script. To write a shell script you write something like this in a file named addition which you will be able to run using sh addition or echo 1 2 | sh addition.

#!/bin/sh

read a b # read two int, one put in a and another put in b.
echo -n "$a + $b = ";
expr $a + $b

read is just like scanf, and expr do calculation and output.

maowtm
  • 1,982
  • 1
  • 18
  • 22
  • hmm thanks, i thought writing in vim is the same as c.. if I want to do `sh filename`, what do I need to modify? thanks again. – P7GAB Feb 05 '16 at 04:53
0

I guess you meant "what C instructions should I use in my C program to read standard input"...Ok?

Well... you can use several instructions to read your standard input. I guess you might want to start using scanf(). Something like this:

... all includes, declarations, etc. here ...
scanf ( "%d %d", &a, &b ) ;
// a and b are the two integer variables where you will store 2 and 3
...
mauro
  • 5,730
  • 2
  • 26
  • 25
  • i thought writing in vim is the same as c.. if I want to do sh filename, what do I need to modify? thanks again! – P7GAB Feb 05 '16 at 04:53
  • I do not understand. Vim is an editor. C is a programming language and shell is a totally different stuff. – mauro Feb 05 '16 at 04:57