There is no real standard on this, other than "zero means keep going".
So it depends on what should typically happen in a situation where you do this:
$ your-script && do-something-else
...and the user cancels out in
your-script. Is the desired behavior to skip that step and continue (i.o.w., is
your-script completely optional)? Then a zero exit code is appropriate. But if, typically, continuing after the user has cancelled your script is inappropriate, then you should return non-zero. If in doubt, use non-zero: otherwise whoever calls your script won't be able to distinguish between "user cancelled out" and "user said yes and everything worked as intended" - discarding a non-zero exit code is easy, but figuring out what happened if the code is zero either way is not.
Just make sure that you use distinct exit codes for "user cancelled out" and "something went horribly wrong", and of course document them.