Форум программистов, компьютерный форум CyberForum.ru

Работает с Int, а с char отказывается - C++

Восстановить пароль Регистрация
 
Как
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 12
07.01.2014, 02:22     Работает с Int, а с char отказывается #1
C
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
main()
{
char i;
i=func1('t','p');
printf("%c", i);
}
func1(char p,char f)
{
char d;
d=p+f;
}
программа с char, конфликт типов

C
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
main()
{
int i;
i=func1(3,3);
printf("%d", i);
}
func1(int p,int f)
{
int d;
d=p+f;
}
эта программа работает.
Почему происходит конфликт типов и как это исправить.
Заранее спасибо)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ev_Hyper
 Аватар для Ev_Hyper
1806 / 1627 / 435
Регистрация: 15.12.2013
Сообщений: 5,790
07.01.2014, 02:29     Работает с Int, а с char отказывается #2
Цитата Сообщение от Как Посмотреть сообщение
Почему происходит конфликт типов и как это исправить.
а что у вас функция возвращает?
Как
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 12
07.01.2014, 18:30  [ТС]     Работает с Int, а с char отказывается #3
должна возвращать d , т.е. результат суммы п и ф
ZaMaZaN4iK
Мой лучший друг-отладчик!
 Аватар для ZaMaZaN4iK
163 / 163 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
07.01.2014, 18:36     Работает с Int, а с char отказывается #4
Во-первых, это форум С++, а не С - пишите код в нужных тегах.А во-вторых - как же она может работать, если используется функция, написанная ПОСЛЕ её вызова, без прототипирования?И функция если ничего не возвращает, то void писать надо.Но в данном случае она возвращает результат.Надо бы вот так хотя бы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <cstdio>
 
 
char func1(char,char);
int main()
{
    char i;
    i=func1('t','p');
    printf("%c", i);
}
char func1(char p,char f)
{
    char d;
    d=p+f;
    return d;
}
xoror
 Аватар для xoror
29 / 31 / 2
Регистрация: 15.12.2013
Сообщений: 147
07.01.2014, 22:15     Работает с Int, а с char отказывается #5
Цитата Сообщение от Как Посмотреть сообщение
должна возвращать d
Вот именно. Она должна возвращать
Цитата Сообщение от Как Посмотреть сообщение
C++
1
2
3
4
func1(int p,int f)
{ int d; 
d=p+f; 
}
Как
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 12
08.01.2014, 11:17  [ТС]     Работает с Int, а с char отказывается #6
вся соль в том, что в отсутствии ретерна программа с int работает, а с чар не работает даже при присутствии оного
ZaMaZaN4iK
Мой лучший друг-отладчик!
 Аватар для ZaMaZaN4iK
163 / 163 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
08.01.2014, 11:24     Работает с Int, а с char отказывается #7
Как, а ничего, что это противоречит здравому смыслу? А то, что не работает в присутствии return - возьмите мой код - там всё прекрасно работает.
Ev_Hyper
 Аватар для Ev_Hyper
1806 / 1627 / 435
Регистрация: 15.12.2013
Сообщений: 5,790
08.01.2014, 11:25     Работает с Int, а с char отказывается #8
Как, вы код ZaMaZaN4iK запускали?
Как
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 12
08.01.2014, 13:13  [ТС]     Работает с Int, а с char отказывается #9
Да, при замене всех чар на инт программа работает, а при обратной замене возникает ошибка

Добавлено через 1 минуту
может проблема в компиляторе ,а не в программе?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2014, 22:41     Работает с Int, а с char отказывается
Еще ссылки по теме:

C++ Перевод из int в char* внутри функции работает, а если вернуть строку то нет
C++ Как в выделенную память записать поочередно число int, массив char[n], и еще число int
C++ [BCC32 Error] File1.cpp(74): E2285 Could not find a match for 'student1::student1(const char *,int,int)'

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ev_Hyper
 Аватар для Ev_Hyper
1806 / 1627 / 435
Регистрация: 15.12.2013
Сообщений: 5,790
08.01.2014, 22:41     Работает с Int, а с char отказывается #10
Как, у меня компилирует без проблем. Какие у вас ошибки пишет?
Yandex
Объявления
08.01.2014, 22:41     Работает с Int, а с char отказывается
Ответ Создать тему
Опции темы

Текущее время: 04:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru