the loop scans the string char by char until it reaches the null character. while it traverses the string character by character it passes the value back and forth from passthrough to string.
while each value is passed over to pass through, it needs to be of type int. the data object being passed to the function. im assuming, or inferring, that since only an int value can be passed (thats part of the test, or condition) and if it does so, it can return the integer based value to the calling function or object.