2014-09-06 2 views
1
#include<stdio.h> 
#include<conio.h> 

/* Function Declaration 
int pal(int x); */ 
/*Declaring Second Function*/ 

int rev(int x); 

int main() 
{ 
    int a, b, c; 
    clrscr(); 

    printf("Enter The Number Which You Want To Check Is Palindrome Or Not\n"); 
    scanf("%d", &a); 

    b = rev(a); 
    printf("%d", b); 

    if(b == a) { 
     printf("%d Is A Palindrome Number", a); 
    } else { 
     printf("%d Isn't A Plaindrome Number", a); 
    } 

    getch(); 
    return(0); 
} 

int rev(int x) 
{ 
    int d = 0; 

    while(x) { 
     d = d * 10 + x % 10; 
     x = x/10; 
    } 
    return(d); 
} 

Я не получил заявление while(x). Я имею в виду, мы прикрепляем какое-то условие с циклом while, то есть while(x!=0), так что делает автономный while(x).Использование только в то время как (x)

ответ

6

while (x) такая же, как while (x != 0)

Для интегрального типа данных, 0 является false & все остальное true. Таким образом, while (x) будет оценивать while(true) для всех x != 0.

Кроме того, вы также встретить выражения, как while(!x) или if(!x)

Если x имеет значение ненулевое значение, то x является true & !x является false. Если x имеет значение 0, то x is false & !x is true.

Так писать (!x) такой же, как написание (x == 0)

Вы также увидите подобное использование с указателями. Для указателя p, (p) совпадает с (p != NULL) и (!p) - это то же самое, что и (p == NULL).

Смежные вопросы