ma è tutta un'altra cosa
ma, veramente il codice assembly prodotto è essenzialmente lo stesso...
il mio for:

codice:
.L3:
	call	getchar
	movb	%al, -1(%ebp)
	cmpb	$10, -1(%ebp)
	je	.L4
	cmpb	$-1, -1(%ebp)
	je	.L4
        s[i] = c;	     (inutile inserire l'assembly qui)
.L2:
	movl	12(%ebp), %eax
	decl	%eax
	cmpl	-8(%ebp), %eax
	jg	.L3
il for del libro:

codice:
.L3:
	s[i] = c;	     (inutile inserire l'assembly qui)
.L2:
	movl	12(%ebp), %eax
	decl	%eax
	cmpl	-8(%ebp), %eax
	jle	.L4
	call	getchar
	movb	%al, -1(%ebp)
	cmpb	$-1, -1(%ebp)
	je	.L4
	cmpb	$10, -1(%ebp)
	jne	.L3