Notice the .
That means using this path run this application. Otherwise it will search your PATH variable and not locate the file (assuming it's not in your path) and return that error. The . overrides that and says "I am running this with absolute path":
./hello
The . means current directory. Comes in handy when copying files and things later; here's an example:
In /home/masterc/files there is a file called "LQ". I want to copy this to the directory I am in: /var/stuff/my/stuff/over/here/in/this/extremely/far/directory/i/am/in
Well to copy it you would type:
cp /home/masterc/files/LQ /var/stuff/my/over/here/in/this/extremely/far/directory/i/am/in
OR since you are already in that long directory:
cp /home/masterc/files/LQ .
Which will copy the file to the directory you are in. So run the app with . and that should fix it

Just like was said above.
Cool