|| and && work Left-To-Right, short-circuiting (the fancy name for only having one side of the expression evaluate) will never (AFAIK) prevent the left hand side from evaluating, it will only prevent the right hand side. Putting m=++j&&++k||++i; illustrates this.