For loop question Is there a way to start a for loop at +20 on first itteration?

for (i; i <=42 ; i = i + x) {        // First interation of loop i starts at 22.

}
i=2;  // I is now set to 2 so next itteration and all future itterations of the loop are from 2.

That should work OK, assuming x is defined. You don't need the first "i", and something like this would probably be easier to read:

byte loopstart = 20;

void loop() {
    for (i=loopstart; i<42; i+=2) {
	printf("test");
    }
    loopstart = 2;
}