
Другие языки программирования и технологии
Язык Си, объясните пожалуйста почему ошибку пишет?

#include <stdio.h>
#include <locale.h>
typedef struct {
int min;
int max;
} minmax;
minmax f(int a, int b);
int main(void) {
int a, b, mn, mx;
minmax mm;
setlocale(LC_CTYPE, "Russian_Russia.1251");
printf("Введите через пробел два целых числа: ");
scanf_s("%i%i", &a, &b);
mm = f(a, b);
printf("Меньшее: %d\nБольшее: %d\n", mm.min, mm.max);
fflush(stdin);
getchar();
return 0;
}
minmax f(int a, int b) {
minmax mm;
mm.min = a < b? a : b;
mm.max = a > b? a : b;
return mm;
}
C++11
#include <iostream>
#include <algorithm>
#include <clocale>
using namespace std;
int main() {
setlocale(LC_CTYPE, "Russian_Russia.1251");
cout << "Введите через пробел два целых числа: ";
int a, b;
cin >> a >> b;
auto mm = minmax({ a, b });
cout << "Меньшее: " << mm.first << "\nБольшее: " << mm.second << endl;
cin.sync();
cin.get();
}
#include <locale.h>
typedef struct {
int min;
int max;
} minmax;
minmax f(int a, int b);
int main(void) {
int a, b, mn, mx;
minmax mm;
setlocale(LC_CTYPE, "Russian_Russia.1251");
printf("Введите через пробел два целых числа: ");
scanf_s("%i%i", &a, &b);
mm = f(a, b);
printf("Меньшее: %d\nБольшее: %d\n", mm.min, mm.max);
fflush(stdin);
getchar();
return 0;
}
minmax f(int a, int b) {
minmax mm;
mm.min = a < b? a : b;
mm.max = a > b? a : b;
return mm;
}
C++11
#include <iostream>
#include <algorithm>
#include <clocale>
using namespace std;
int main() {
setlocale(LC_CTYPE, "Russian_Russia.1251");
cout << "Введите через пробел два целых числа: ";
int a, b;
cin >> a >> b;
auto mm = minmax({ a, b });
cout << "Меньшее: " << mm.first << "\nБольшее: " << mm.second << endl;
cin.sync();
cin.get();
}
Антон Ш
ой дядя, вы с института, и все усложняете, я просто изменил язык на с++, и программа заработала
В функции: ...int* max
При вызове: ...&max
При вызове: ...&max
В Си нет ссылок (int &max).
P.S. Н-да, у меня о Кролякове было лучшее мнение. Он с самого начала учебника страшные ереси пишет:
"Исходный файл программы на языке Си имеет расширение *.с или *.cpp (расширение *.cpp говорит о том, что в программе могут быть использованы возможности языка Си++)."
P.S. Н-да, у меня о Кролякове было лучшее мнение. Он с самого начала учебника страшные ереси пишет:
"Исходный файл программы на языке Си имеет расширение *.с или *.cpp (расширение *.cpp говорит о том, что в программе могут быть использованы возможности языка Си++)."
Антон Ш
А я по книге занимаюсь
в какой строке ошибка?
C variable naming rules
Table of content [hide]
1 Rules For Constructing Variable Name
2 Explanation with Example
2.1 Tip 1 : Use allowed Characters
2.2 Tip 2 : blanks are not allowed
2.3 Tip 3 : No special symbols other that underscore
2.4 Tip 4 : First Character must be underscore or Alphabet
2.5 Tip 5 : Reserve words are not allowed
2.6 Tip 6 : Name of Identifier cannot be global identifier
2.7 Tip 7 : Name of identifier cannot be register Pseudo variables
2.8 Tip 8 : Name of identifier cannot be exactly same as of name of another identifier within the scope of the function
2.9 Tip 9 : Constants
3 Remember following Tricks
Rules For Constructing Variable Name
Characters Allowed :
Underscore(_)
Capital Letters ( A – Z )
Small Letters ( a – z )
Digits ( 0 – 9 )
Blanks & Commas are not allowed
No Special Symbols other than underscore(_) are allowed
First Character should be alphabet or Underscore
Variable name Should not be Reserved Word
Почему во второй строчке у Вас обявлена переменная "&max". которая начинается с запрещённого символа "&"?
Table of content [hide]
1 Rules For Constructing Variable Name
2 Explanation with Example
2.1 Tip 1 : Use allowed Characters
2.2 Tip 2 : blanks are not allowed
2.3 Tip 3 : No special symbols other that underscore
2.4 Tip 4 : First Character must be underscore or Alphabet
2.5 Tip 5 : Reserve words are not allowed
2.6 Tip 6 : Name of Identifier cannot be global identifier
2.7 Tip 7 : Name of identifier cannot be register Pseudo variables
2.8 Tip 8 : Name of identifier cannot be exactly same as of name of another identifier within the scope of the function
2.9 Tip 9 : Constants
3 Remember following Tricks
Rules For Constructing Variable Name
Characters Allowed :
Underscore(_)
Capital Letters ( A – Z )
Small Letters ( a – z )
Digits ( 0 – 9 )
Blanks & Commas are not allowed
No Special Symbols other than underscore(_) are allowed
First Character should be alphabet or Underscore
Variable name Should not be Reserved Word
Почему во второй строчке у Вас обявлена переменная "&max". которая начинается с запрещённого символа "&"?
Андрей Тиванов
&max and &Max - это две большие разницы.
Похожие вопросы
- Кто знает язык Си? ПОМОГИТЕ ПОЖАЛУЙСТА!!!
- Язык Си. Помогите пожалуйста написать простую программу.
- Помогите пожалуйста найти ошибку в задаче (Язык программирования Си)
- Почему язык СИ такой сложный?
- Язык Си|Будет ли ошибкой, если я буду увеличивать размер массива по мере ввода в него?
- Объясните пожалуйста на бытовом языке, что такое указатель в СИ, приведите бытовой пример, описывающий эту операцию?
- Помогите, пожалуйста, написать программу на языке Си
- Исправте ошибки в задаче на языке Си
- Для чего нужен указатель this и каков его принцип работы? Объясните пожалуйста самым простым языком, как 2+2.
- Программирование на языке СИ с использованием подпрограммы-функции