A few options:
Unix:
tmp=$(mktemp) for f in *c; do head --lines=-1 "$f" > "$tmp" echo -e "\treturn 0;" >> "$tmp" tail -1 "$f" >> "$tmp" mv "$tmp" "$f" done
awk:
tmp=$(mktemp) for f in *.c; do awk 'NR > 1 { print prev_line; } { prev_line = $0; } END { print "\treturn 0;"; print; }' "$f" > "$tmp" \ && mv "$tmp" "$f" done
sed:
for f in *.c; do sed -i '$i\ \treturn 0;' "$f" done