In this sample program,in the while loop which part will be done first(increment,assignment,test condition).

```
int main()
{

char s[]="lumps,bumps,swollen veins,new pains";
char t[40]={};
char *ss,*tt;
tt=t;
ss=s;
while(*tt++ = *ss++);
printf("%s\n",t);
return 0;
}

```

The output of the following program is : 

```
lumps,bumps,swollen veins,new pains

```

Can someone tell me how this program is giving the output and how the while statment is working

if i am correct first the \*ss++ will be done so that the ss will point to the value 'u' and then it will assign to \*tt++ i.e(t[1]).so if it is like this the output should be "umps,bumps,swollen veins,new pains" . The L should not be printed but why L is also printing