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

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

Войти
Регистрация
Восстановить пароль
 
N1KOL@Y
0 / 0 / 1
Регистрация: 24.02.2013
Сообщений: 47
#1

Почему 0? - C++

16.07.2013, 15:20. Просмотров 278. Ответов 5
Метки нет (Все метки)

Такой вопpосец. Почему в данном коде, компилятоp в ответе выдает 0? А не 0,6666?


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "stdafx.h"
#include <iostream>
using namespace std;
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    int a=2, b=3;
    double c;
    c=a/b;
    cout<<c<<endl;
    system("pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.07.2013, 15:20     Почему 0?
Посмотрите здесь:

Почему возможно задать массив с размером -1 (почему такое вообще компилируется)? - C++
Всем привет. Долгое время не писал на плюсах, решил пройтись по основам, вспомнить. По непонятным для меня причинам этот код...

IDE wxDev-C++, при создании кнопки на форме она почему-то становится во весь экран, почему? - C++
То есть ребята не смешно ни разу. Создаю форму, кидаю кнопку, ничего не предвещает плохого. Собираю проект, запускаю- и вот кнопка размером...

Почему не взяли на обучение в CQG, на сайте нашел испытательное задание, сделал и отослал. Не взяли и не объяснили почему. Хочу услышать мнения. - C++
/ Программа получает на вход текстовый файл и расшифровывает его первую строчку получая ключ. // #include &quot;stdafx.h&quot; ...

Почему MS-DOS не любит кириллицу ? (Или почему она не любит меня ?) - C++
Здравствуйте Почему MS-DOS не любит кириллицу ? У меня есть несколько консольных проектор различной сложности. Почти везде...

Почему нельзя командой copy скопировать системные файлы на дискету? Почему? - CMD/BAT
Пожалуйсат, подскажите, весь интернет перерыла, вот почему нельзя? что нельзя знаю, а по какой причине?

Подскажите пожалуйста не пойму почему в массиве почему в массиве храниться только первая запись - PHP БД
Подскажите пожалуйста не пойму почему в массиве почему в массиве храниться только первая запись $sql = &quot;SELECT * FROM `cat` &quot;; $query...

Почему-то ни вижуал студийные хидеры ни хидеры проекта GLUT не компилириуются(компилятор MinGW), почему? - OpenGL
В составе компилятора тоже хидеры для OpenGL но так же не компилируются.. Вот сурсы: 1.cpp, console output, glut.h ЗЫ И тупорылые...

Почему солнце круглое, а небо зеленое. Почему ооп такое странное? - PHP
Учил я пхп. Самоучитель PHP 5/6 и сайт метанит. И все было хорошо. Чтобы закрепить основы решил написать что-то такое: 1. Сохранить БД в...

Почему то один вопрос всего лишь из списка показывает в тесте, почему? - Delphi
Тест на проверку знаний. Вопросы берутся из .ini файла зашифрованный смещением xor+2. Шифровальщик прилагается. Почему то один вопрос всего...

Скажите почему например флешка на 4 ГБ а на ней ёмкость всего 3.73 ГБ почему это так? - Flash-память
Скажите почему например флешка на 4 ГБ а на ней ёмкость всего 3.73 ГБ почему это так? Почему не сделают ровно 4 ГБ ну или приближённо к...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
12980 / 7292 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
16.07.2013, 15:23     Почему 0? #2
Цитата Сообщение от N1KOL@Y Посмотреть сообщение
Почему в данном коде, компилятоp в ответе выдает 0? А не 0,6666?
Вы делите целое на целое и получаете поэтому целое
C++
1
c=(double)a/b;
Thinker
Эксперт C++
4221 / 2195 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
16.07.2013, 15:23     Почему 0? #3

Не по теме:

компилятор-двоечник, считать не умеет, выкидывай его



C++
1
c = 1.0 * a / b;
N1KOL@Y
0 / 0 / 1
Регистрация: 24.02.2013
Сообщений: 47
16.07.2013, 15:57  [ТС]     Почему 0? #4
Но ведь я пpисвоил пеpеменной c тип double, по идее он должен был получить 0,666? Или все пpавильно?
CheshireCat
Эксперт С++
2892 / 1241 / 78
Регистрация: 27.05.2008
Сообщений: 3,354
16.07.2013, 16:04     Почему 0? #5
Тип результата операции деления определяется ее аргументами. У тебя a - целое, b - целое, поэтому результат (a/b) тоже будет целым. Ну и потом это целое значение (которое будет, разумеется, 0) присваивается переменной double c.....
Tulosba
:)
Эксперт С++
4392 / 3235 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
16.07.2013, 16:13     Почему 0? #6
Цитата Сообщение от CheshireCat Посмотреть сообщение
Тип результата операции деления определяется ее аргументами.
А я бы еще добавил, что тип результата вычислений не зависит от типа переменной, к которой результат присваивают.
Yandex
Объявления
16.07.2013, 16:13     Почему 0?
Ответ Создать тему
Опции темы

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