2014-09-15 3 views
-8

1)Преобразование междунар не обугливается

#include<stdio.h>      
#include<conio.h> 
int main() 
{ 

    char num = 'a'; 
    printf("%d", num); Answer=97 
    getch(); 
return 0; 
} 

1) как мы можем напечатать не с полукокса при использовании% D и тип данных в символьном

2)

#include<stdio.h> 
#include<conio.h> 
int main() 
{ 

    int num = 'a'; 
    printf("%c", num); Answer=a 
    getch(); 
return 0;` 

2) как мы можем печатать char с int при использовании% c и типа данных как int

#include<iostream> 
#include<conio.h> 
using namespace std; 
void main() 
{ 
int a='b'; 
char c=a; 
int d=c; 
cout<<"value is "<< a ;  Answer=98 
cout<<"\nChar is "<<c;   Answer=b 
cout<<"\nint d is "<<d;  Answer=98 
getch(); 
} 

3) как можно преобразовать int в char без явного ввода типов. Как происходит преобразование int в char c без явно выраженного литья

Пожалуйста, объясните основы.

+2

Почему 'Java' тегов здесь? –

+1

Немного трудно понять вопросы. Вы спрашиваете, почему '% d' интерпретирует аргумент как целое число, а'% c' интерпретирует его как символ? Если это так, то ответ заключается в том, что именно так заданы 'printf' и связанные функции. Что касается 'cout', это работает в соответствии с типом его аргумента, поэтому нет альтернативы приложению, если вы хотите, чтобы он рассматривался как другой тип. –

+1

Слишком много вопросов – KiaMorot

ответ

2

напечатать символ с междунар при использовании% с и тип данных, как INT

#include<stdio.h> 
int main() 
{ 
    int num = 97; 
    printf("%c", num); //Answer=a 
} 
1

Printf объявлен как vadiadic функции

int printf(const char *format, ...);

char ы преобразуются в int сек при прохождении их к вариационным функциям. printf преобразует его обратно в char внутри.

см "Конверсия по умолчанию" на http://en.cppreference.com/w/cpp/language/variadic_arguments

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