Koşul Operatörü-1
C koşul operatörü yapısı ve nasıl çalıştığı ele alındı.
ifade1?ifade2:ifade3
#include <stdio.h>
#include <stdlib.h>
int func1()
{
return 0;
}
int func2()
{
return 6;
}
int func3()
{
return 5;
}
int main(void) {
{
/* Koşul operatörünün if karşılığı.
* Aşağıdaki if-else yapısı ile yapılan işlem tek bir koşul operatörü
* ile gerçeklenmiştir.
*/
int condition = 0;
int x = 10;
int y = 5;
if( x > y )
{
condition = x;
}
else
{
condition = y;
}
printf("ifli condition = %d\n", condition);
/* koşul operatorünün genel yapısı (ifade1 ? ifade2 : ifade3;).
* Koşul operatörü ifade1 deki kısımın sıfır ve sıfır harici bir değer olmasına göre
* ifade2 ve ifade3 'ü işler. Eğer ifade1 sıfır harici değer ise ifade2 işleme alınır.
* Eğer ifade1 sıfır ise ifade3 işleme tabi tutulur.
* Aşağıdaki işlemde x>y karşılaştırılmasında sonuc sıfır harici ise x , sıfır ise y
* nesnesi değeri condition nesnesine atanır.
*/
//
condition = ( ( x > y ) ? x : y );
printf("kosul operatorlu condition = %d\n", condition);
}
/* Koşul operatörüne örnek aşağıda da verilmiştir */
{
int toplam = 0;
int x = 7;
int y = 6;
toplam = ( (x > y ) ? x : y );
printf("toplam = %d\n", toplam);
}
/* Koşul operatörünün ifade1 kısmı sabit bir değer de olabilir. */
{
int condition = 0;
int x = 5;
int y = 6;
condition = (1)?x:y;
printf("condition = %d\n", condition);
}
/* Koşul operatöründe fonksiyonlar da kullanılabilir. Aşağıdaki örnekte
* ifade1 kısmına func1 fonksiyonu çağrılmış. func1 fonksiyonun geri dönüş değerine
* göre ifade2(func2) veya ifade3(func3) çalıştırılacak. Eğer func1 geri dönüş değeri
* sıfır harici değer dönerse func2 fonksiyonu çalıştırılacak ve ger dönüş değeri
* condition değişkenine atanacak. Eğer func1 çalıştırıldıktan sonra geri dönüş
* değeri sıfır ise func3 fonksiyonu çalıştırılacak ve geri dönüş değeri condition değişkenine
* atanacak.
*/
{
int condition = 0;
condition = func1()?func2():func3();
printf("function condition = %d\n", condition);
}
return EXIT_SUCCESS;
}
#include <stdio.h>
#include <stdlib.h>
int func1()
{
return 0;
}
int func2()
{
return 6;
}
int func3()
{
return 5;
}
int main(void) {
{
/* Koşul operatörünün if karşılığı.
* Aşağıdaki if-else yapısı ile yapılan işlem tek bir koşul operatörü
* ile gerçeklenmiştir.
*/
int condition = 0;
int x = 10;
int y = 5;
if( x > y )
{
condition = x;
}
else
{
condition = y;
}
printf("ifli condition = %d\n", condition);
/* koşul operatorünün genel yapısı (ifade1 ? ifade2 : ifade3;).
* Koşul operatörü ifade1 deki kısımın sıfır ve sıfır harici bir değer olmasına göre
* ifade2 ve ifade3 'ü işler. Eğer ifade1 sıfır harici değer ise ifade2 işleme alınır.
* Eğer ifade1 sıfır ise ifade3 işleme tabi tutulur.
* Aşağıdaki işlemde x>y karşılaştırılmasında sonuc sıfır harici ise x , sıfır ise y
* nesnesi değeri condition nesnesine atanır.
*/
//
condition = ( ( x > y ) ? x : y );
printf("kosul operatorlu condition = %d\n", condition);
}
/* Koşul operatörüne örnek aşağıda da verilmiştir */
{
int toplam = 0;
int x = 7;
int y = 6;
toplam = ( (x > y ) ? x : y );
printf("toplam = %d\n", toplam);
}
/* Koşul operatörünün ifade1 kısmı sabit bir değer de olabilir. */
{
int condition = 0;
int x = 5;
int y = 6;
condition = (1)?x:y;
printf("condition = %d\n", condition);
}
/* Koşul operatöründe fonksiyonlar da kullanılabilir. Aşağıdaki örnekte
* ifade1 kısmına func1 fonksiyonu çağrılmış. func1 fonksiyonun geri dönüş değerine
* göre ifade2(func2) veya ifade3(func3) çalıştırılacak. Eğer func1 geri dönüş değeri
* sıfır harici değer dönerse func2 fonksiyonu çalıştırılacak ve ger dönüş değeri
* condition değişkenine atanacak. Eğer func1 çalıştırıldıktan sonra geri dönüş
* değeri sıfır ise func3 fonksiyonu çalıştırılacak ve geri dönüş değeri condition değişkenine
* atanacak.
*/
{
int condition = 0;
condition = func1()?func2():func3();
printf("function condition = %d\n", condition);
}
return EXIT_SUCCESS;
}
Hiç yorum yok:
Yorum Gönder