int türünde tamsayı sabit ya da değişken içeren ifadeler, sonuçta tamsayı (int) değer üretecektir. Örneğin;
int a,b,c;
a=9;
b=12;
c=13;
şeklindeki atamalar ile,
a + b / c
ifadesi,
9+12/13=9+0=9 olarak hesaplanacaktır.
12 ve 13’ün int türünde olduğunu ve bu nedenle 12/13 işleminin sonucunun da int türünde olacağını ve 12/13’ün int türündeki sonucunun da 0 olacağını hatırlatalım.
b – c % a + 'x' – 3 + (int) 8.7
ifadesi ise,
12–13%9+120–3+8
12–4+120–3+8=133
aşamalarından geçerek 133 olarak hesaplanır. 'x' karakter sabiti yerine onun ASCII kodu olan 120 değeri alınır. 13%9 ifadesi ise 13’ün 9 ile bölümünden elde edilecek olan kalanı hesaplar. (int) 8.7 ifadesi ise 8.7 ondalık sayısını int türüne yani 8’e dönüştürmektedir.
Aşağıdaki program bu hesaplamaları gerçekleştirmektedir:
#import <Foundation/Foundation.h>
int main(int argc, char* argv[])
{
NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init];
int a,b,c;
a=9;
b=12;
c=13;
NSLog(@"\na=%i b=%i c=%i",a,b,c);
NSLog(@"\na + b / c=%i",a+b/c);
NSLog(@"\n'x' in ASCII KODU=%i",'x');
NSLog(@"\nb - c %% a + 'x' - 3 + (int) 8.7=%d\n\n",b - c % a + 'x' - 3 + (int) 8.7);
[pool drain];
return 0;
}
PROGRAMIN ÇIKTISI:
a=9 b=12 c=13
a + b / c=32 'x' in ASCII KODU=120
b - c % a + 'x' - 3 + (int) 8.7=133