c language patterns questions