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

Можно ли писать int не в самом начале? - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
nicenice
3 / 3 / 0
Регистрация: 22.11.2011
Сообщений: 168
04.12.2011, 20:14     Можно ли писать int не в самом начале? #1
а можно ли писать "int " не в начале программы, а где захочешь?
посмотрите где у меня может быть ошибка??

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <stdio.h>
#include <conio.h>
 
int main (void)
{
char c;
printf ("tak");
c=getch();
switch (c)
{
case '1': printf("rrrrr"); break;
case '2': printf("mmmm"); break;
case '3': 
const int N=1;
const int T=2;
const int H=3;
int A[N][T],B[T][H],K[N][H];
int i=0,j=0,k=0,a;
 
printf ("BBeduTe IIePBbIy MaccuB\n");
for (i=0;i<N;i++)
for (k=0;k<T;k++)
{
scanf("%d", &A[i][k]);
}
printf ("BBeduTe BTOPOy MaccuB\n");
for (k=0;k<T;k++)
for (j=0;j<H;j++)
{
scanf("%d", &B[k][j]);
}
for (i=0;i<N;i++)
for (j=0;j<H;j++)
{
K[i][j]=0;
for(k=0;k<T;++k)                 
K[i][j]+= A[i][k]*B[k][j];
}  
for (i=0;i<N;i++)
for (j=0;j<H;j++)
{
printf("%d\n",K[i][j]);
} 
break;
}
getch();
return 1;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
06.12.2011, 17:23     Можно ли писать int не в самом начале? #21
go, у меня сложилось впечатление, что как раз вы ситуацию несколько не поняли, и её вам пытается разъяснить accept. Ибо в случае с void мы фактически сообщаем компилятору, что функция принимает 0 параметров. Т.е. это подпадает под определение accept насчёт количества (0) и типа (понятно, что никакого типа нет, ведь нет и параметров) параметров. В случае же пустых скобок мы вообще ничего не сообщаем компилятору о наличии/отсутствии параметров функции.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
06.12.2011, 17:30     Можно ли писать int не в самом начале? #22
silent_1991, а у меня обратное впечатление
C
1
int main ()
Компилятор не контролирует, передаются параметры в функцию или нет
C
1
int main (void)
Функция не принимает параметры, и это контролирует компилятор

Цитата Сообщение от silent_1991 Посмотреть сообщение
что функция имеет 0 параметров
К сожалению, accept этого не понимает, или не может объяснить, и мы с Вами не правильно его понимаем
Цитата Сообщение от accept Посмотреть сообщение
второе определение - определение в новом стиле, когда точно указывается количество аргументов и тип каждого
Какой тип??? Их вообще нет, и не может быть, т.к.
Цитата Сообщение от go Посмотреть сообщение
Вообще-то оно означает, что функция не принимает параметры, это и контролирует компилятор!
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
06.12.2011, 17:34     Можно ли писать int не в самом начале? #23
go, accept просто провёл параллель между таким:
C
1
int func(int a, int b);
- функция, принимающая 2 параметра, каждый типа int, и возвращающая int; и таким:
C
1
int func(void);
- функция, принимающая 0 параметров (не принимающая параметров) и возвращающая int.
Для общности стоит сказать, что этот стиль требует точного определения количества и типа параметров, пусть и при нуле параметров типы не указываются (их не для чего указывать).
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
06.12.2011, 23:53     Можно ли писать int не в самом начале? #24
Цитата Сообщение от go Посмотреть сообщение
Функция не принимает параметры, и это контролирует компилятор
далеко не факт, что он контролирует это так, как ты думаешь
void может значит, что тип первого аргумента пустой
(аргументы пустого типа не передаются, следовательно, там нет аргументов)
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
07.12.2011, 10:02     Можно ли писать int не в самом начале? #25
далеко не факт,
C++
1
2
3
4
5
6
7
8
9
10
11
12
void fun (void *a)
{
    std::cout<< * (int *) a;
}
int main(int argc, char* argv[])
{
 
    int b = 5;
    fun (&b);
 
    return 0;
}

Не по теме:

К чему этот спор.

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.12.2011, 10:37     Можно ли писать int не в самом начале?
Еще ссылки по теме:

Ребят что означаеют две звездочки в самом начале когда объявляем массив C++
Можно писать в консоли 20 шрифтом C++
Можно ли писать вложенные лямбды? (с++11) C++

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

Или воспользуйтесь поиском по форуму:
fasked
Эксперт C++
 Аватар для fasked
4925 / 2505 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 1
07.12.2011, 10:37     Можно ли писать int не в самом начале? #26
Цитата Сообщение от go Посмотреть сообщение
далеко не факт
Ну как бы void и void * разные вещи. Складывается впечатление, что вы об одном и том же говорите.
Yandex
Объявления
07.12.2011, 10:37     Можно ли писать int не в самом начале?
Ответ Создать тему
Опции темы

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