[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: [avr-gcc-list] OT Generic C question
From: |
Trampas |
Subject: |
RE: [avr-gcc-list] OT Generic C question |
Date: |
Tue, 20 Sep 2005 07:45:17 -0400 |
First off this was code written by a newbie to C and embedded development as
such it would have been better to do i++ or i=i+1. But he did it as i=i++;
The code was actually something like this:
char name[20];
char c;
int i;
i=0;
c=getchar();
while(c!=13)
{
name[i]=c;
c=getchar();
i=i++;
}
name[i]=0;
printf("%d, %s\n\r",i,name);
Of course this code has overflow issues and such, but after the return
character was seen the printf statement printed that i==0. Changing from
i=i++; to i++; worked.
Again my objective was to determine if this was a bug with compiler or not.
>From my understanding of the ++ operator this is indeed a bug. Sure it is
bad coding but still a bug.
Regards,
Trampas
-----Original Message-----
From: David Brown [mailto:address@hidden
Sent: Tuesday, September 20, 2005 7:48 AM
To: Trampas; address@hidden
Subject: Re: [avr-gcc-list] OT Generic C question
----- Original Message -----
From: "Trampas" <address@hidden>
> I was helping a friend debug some code, he is new to C, using the Keil
> version of GCC for ARM. Anyway I found the following:
>
> int i;
>
> i=0;
> i=i++;
> //i was still zero that
>
> That is i=i++ never incremented i, now I would have thought the line would
> be the same as:
>
> i=i;
> i=i+1;
>
> So you guys are the smartest people I know when it comes to C so I thought
I
> would ask you guys if this is a compiler bug or is my understanding of C
> just been shaken.
>
> Regards,
> Trampas
>
>
I'd agree with you that i should be 1 after "i = i++", despite the sillyness
of the statement. However, how did you check that i was still 0? If the
compiler had no reason to actually carry out the incrementation, and you
used a debugger to view "i", then it's quite likely that it remained at 0
due to legitimate compiler optomisations.
- Re: [avr-gcc-list] Initilizing complex const arrays : syntax ?, (continued)
- Re: [avr-gcc-list] Initilizing complex const arrays : syntax ?, Vincent Trouilliez, 2005/09/19
- Re: [avr-gcc-list] Initilizing complex const arrays : syntax ?, David Kelly, 2005/09/19
- Re: [avr-gcc-list] Initilizing complex const arrays : syntax ?, Dave Hansen, 2005/09/19
- Re: [avr-gcc-list] Initilizing complex const arrays : syntax ?, David Brown, 2005/09/19
- Re: [avr-gcc-list] Initilizing complex const arrays : syntax ?, Richard Urwin, 2005/09/19
- Re: [avr-gcc-list] Initilizing complex const arrays : syntax ?, David Brown, 2005/09/20
- [avr-gcc-list] OT Generic C question, Trampas, 2005/09/20
- Re: [avr-gcc-list] OT Generic C question, Bernard Fouché, 2005/09/20
- Re: [avr-gcc-list] OT Generic C question, Colin Paul Gloster, 2005/09/20
- Re: [avr-gcc-list] OT Generic C question, David Brown, 2005/09/20
- RE: [avr-gcc-list] OT Generic C question,
Trampas <=
- Re: [avr-gcc-list] OT Generic C question, Dave Hansen, 2005/09/20
- Re: [avr-gcc-list] OT Generic C question, Richard Urwin, 2005/09/22
- Re: [avr-gcc-list] OT Generic C question, Alan Kilian, 2005/09/22
- Re: [avr-gcc-list] OT Generic C question, Dave Hansen, 2005/09/22
- Re: [avr-gcc-list] OT Generic C question, Richard Urwin, 2005/09/22
- Re: [avr-gcc-list] OT Generic C question, Dave Hansen, 2005/09/22
- Re: [avr-gcc-list] OT Generic C question, Alexandru Csete, 2005/09/20
- Re: [avr-gcc-list] OT Generic C question, Wolfgang Wegner, 2005/09/20
- Re: [avr-gcc-list] OT Generic C question, Julius Luukko, 2005/09/20
- Re: [avr-gcc-list] OT Generic C question, Marc Wetzel, 2005/09/20