gcc 3.4.5 (Objective-C)

Version of implementation gcc (Objective-C) of programming language Objective-C

Version of gcc compiler applied to Objective-C programs.

Examples:

Factorial - C, Objective-C (67):

This example uses recursive factorial definition. Note that 13! and larger causes an overflow, so the last lines of the output look like this:

13! = 1932053504
14! = 1278945280
15! = 2004310016
16! = 2004189184

#include <stdio.h>
unsigned long long factorial(unsigned long long n)
{
 if (n == 0) {
 return 1;
 } else {
 return n * factorial (n - 1);
 }
}
int main(void)
{
 int n;
 for (n = 0; n <= 16; n++) {
 printf("%i! = %lld\n", n, factorial(n));
 }
 return 0;
}

Hello, World! - C, Objective-C, C++ (68):

#include <stdio.h>
int main()
{
 printf("Hello, World!\n");
 return 0;
}

Fibonacci numbers - C, Objective-C (122):

This example uses recursive definition of Fibonacci numbers. Note the difference from C++ example: loop counter must be declared outside of the loop, and printf is used for output instead of std::cout.

#include <stdio.h>
int fibonacci(int n)
{
 return ( n<=2 ? 1 : fibonacci(n-1) + fibonacci(n-2) );
}
int main(void)
{
 int n;
 for (n=1; n<=16; n++)
 printf("%d, ", fibonacci(n));
 printf("...\n");
 return 0;
}

Quadratic equation - C, Objective-C, C++ (216):

This example works both for C and C++, as well as for Objective-C which is superset of C.

#include <math.h> 
#include <stdio.h>
int main()
{
 int A, B, C;
 double D;
 printf("A = ");
 scanf("%d", &A);
 if (A == 0) {
 printf("Not a quadratic equation.\n");
 return 0;
 }
 
 printf("B = ");
 scanf("%d", &B);
 printf("C = ");
 scanf("%d", &C);
 D = B * B - 4 * A * C;
 if (D == 0) {
 printf("x = %f\n", -B / 2.0 / A);
 return 0;
 }
 
 if (D > 0) {
 printf("x1 = %f\nx2 = %f\n",
 (-B + sqrt(D)) / 2.0 / A, (-B - sqrt(D))/ 2.0 / A);
 } else {
 printf("x1 = (%f, %f)\nx2 = (%f, %f)\n",
 -B / 2.0 / A, sqrt(-D) / 2.0 / A, -B / 2.0 / A, -sqrt(-D) / 2.0 /A);
 }
 return 0;
}

CamelCase - Objective-C (364):

#import <Foundation/Foundation.h>
NSString *camelCase(NSString *s) {
 return [[[s capitalizedString] componentsSeparatedByCharactersInSet:[[NSCharacterSet characterSetWithCharactersInString:@"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"] invertedSet]] componentsJoinedByString:@""];
}
int main (int argc, const char * argv[]) {
 NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
 NSLog(@"%@", camelCase(@"Test Example One"));
 NSLog(@"%@", camelCase(@"exampleTwo "));
 NSLog(@"%@", camelCase(@"!!! is_this_3RD EXAMPLE?.."));
 [pool drain];
 return 0;
}

AltStyle によって変換されたページ (->オリジナル) /