Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Как
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 20
#1

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

07.01.2014, 02:22. Просмотров 335. Ответов 9
Метки нет (Все метки)

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;
}
эта программа работает.
Почему происходит конфликт типов и как это исправить.
Заранее спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.01.2014, 02:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работает с Int, а с char отказывается (C++):

Реализация функции char *padl(const char *string, int len, int c=' ') - C++
Реализовать функцию возвращающую указатель на новую строку длины len, полученную из string либо удалением лишних символов слева , либо...

Как превести из char* в int и наоборот из int в char*? - C++
Как превести из char* aa='123' в int aa=123 и наоборот из int в char* . Понимаю что самому написать функцию не сложно, но наверняка это...

Форматирование строк, char to int & int to char - C++
Покажите как запихнуть число в строку и вытащить его обратно из строки. Вот всё просто в pawn str_to_num(const str) // Тупо...

Перевод из int в char* внутри функции работает, а если вернуть строку то нет - C++
Надо перевесит int в char* в методе класса, и вернуть char*. Перепробовал кучу всего результат 1 и тот же. boss.cpp char*...

Подскажите пожалуйста с int main(int argc, char*argv[]) - C++
Если я правильно понимаю, то int argc это передача аргумента программе, т. е если argc&gt;1 то программе передан хотя бы один аргумент, если...

Сделать преобразование unsigned char в char, а затем типу int - C++
Здраствуйте, есть вопрос: Число представлено двумя полями: типа long для рублей и unsigned char - для копеек. Собственно что мне...

9
Ev_Hyper
Заблокирован
07.01.2014, 02:29 #2
Цитата Сообщение от Как Посмотреть сообщение
Почему происходит конфликт типов и как это исправить.
а что у вас функция возвращает?
0
Как
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 20
07.01.2014, 18:30  [ТС] #3
должна возвращать d , т.е. результат суммы п и ф
0
ZaMaZaN4iK
Мой лучший друг-отладчик!
164 / 164 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
07.01.2014, 18:36 #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;
}
0
xoror
29 / 31 / 2
Регистрация: 15.12.2013
Сообщений: 147
07.01.2014, 22:15 #5
Цитата Сообщение от Как Посмотреть сообщение
должна возвращать d
Вот именно. Она должна возвращать
Цитата Сообщение от Как Посмотреть сообщение
C++
1
2
3
4
func1(int p,int f)
{ int d; 
d=p+f; 
}
0
Как
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 20
08.01.2014, 11:17  [ТС] #6
вся соль в том, что в отсутствии ретерна программа с int работает, а с чар не работает даже при присутствии оного
0
ZaMaZaN4iK
Мой лучший друг-отладчик!
164 / 164 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
08.01.2014, 11:24 #7
Как, а ничего, что это противоречит здравому смыслу? А то, что не работает в присутствии return - возьмите мой код - там всё прекрасно работает.
0
Ev_Hyper
Заблокирован
08.01.2014, 11:25 #8
Как, вы код ZaMaZaN4iK запускали?
0
Как
0 / 0 / 0
Регистрация: 07.01.2014
Сообщений: 20
08.01.2014, 13:13  [ТС] #9
Да, при замене всех чар на инт программа работает, а при обратной замене возникает ошибка

Добавлено через 1 минуту
может проблема в компиляторе ,а не в программе?
0
Ev_Hyper
Заблокирован
08.01.2014, 22:41 #10
Как, у меня компилирует без проблем. Какие у вас ошибки пишет?
0
08.01.2014, 22:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2014, 22:41
Привет! Вот еще темы с ответами:

Ошибка: initializing argument 2 of `char* fgets(char*, int, FILE*) - C++
Написать программу, которая считывает текст из файла и выводит на экран только строки, содержащие двузначные числа Помогите...

конвертирование (char)int (char*)int - C++
Вопрос такой каким образом можно выполнить вот такую операцию: у нас есть: int c = 12; char d = ''PS &quot;; Получиться должно...

[BCC32 Error] File1.cpp(74): E2285 Could not find a match for 'student1::student1(const char *,int,int)' - C++
#include&lt;conio.h&gt; #include&lt;stdio.h&gt; #include&lt;iostream.h&gt; #include&lt;windows.h&gt; #include&lt;cstring.h&gt; #include&lt;string.h&gt; ...

Как в выделенную память записать поочередно число int, массив char[n], и еще число int - C++
Выделяю память void* Start=malloc(Size); Как туда записать поочередно число int, массив char, и еще число int?


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru