Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
2 / 2 / 0
Регистрация: 14.12.2011
Сообщений: 44

При компиляции с помощью gcc или llvm, происходит ошибка и они требуют амперсанд

19.05.2013, 22:30. Показов 1440. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
Столкнулся с таким кодом:
C
1
2
3
4
5
6
int a[N],i;
 
...
 
scanf("%d",a[i]);
...
согласно K&R, при чтении элементов массива, знак амперсанда перед a[i] не требуется, так как имя массива само по себе является указателем.
Однако, при компиляции с помощью gcc или llvm, происходит ошибка и они требуют амперсанд.
Помогите восстановить справедливость и определить в каком стандарте правило ANSI C от K&R отменили.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.05.2013, 22:30
Ответы с готовыми решениями:

Ошибки в коде при компиляции с помощью GCC
Переписал код из книжки по C++. Переписал один в один, но компилятор выдает ошибки. Сам код // FunctionDemo - демонстрация...

Ошибки при компиляции ClanLib с помощью GCC(MinGW) 4.6.2
компилирую ClanLib с помощью GCC(MinGW) 4.6.2 делаю configure --enable-clanDisplay --enable-clanGL --enable-clanGL1 --enable-clanGUI...

Ошибка при компиляции в WinAvr GCC
WinAvr выдает ошибку при компиляции ни кто не вкурсе что с ней делать? в етих строках #if !defymed(__DOXYGEN__) static...

3
Native x86
Эксперт Hardware
 Аватар для quwy
6859 / 3791 / 1026
Регистрация: 13.02.2013
Сообщений: 11,861
20.05.2013, 00:11
a[i] -- это не массив, а элемент массива. И с точки зрения компилятора он эквивалентен обычной переменной со всеми вытекающими амперсандами. Да и где написано, что "имя массива само по себе является указателем"? Передача массива в функцию всегда производится по ссылке, да, но это совсем не означает, что массив сам по себе всегда указатель.
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
20.05.2013, 04:00
Цитата Сообщение от quwy Посмотреть сообщение
Да и где написано, что "имя массива само по себе является указателем"?
quwy, что тогда по вашему происходит тут:
a+i ?
a[i] всего лишь эквивалентная запись *(a+i)
В остальном согласен.


lunohod-1, дело в том, что a[i] это уже разыменованный указатель, т.о. знак амперсанда все-же требуется.
0
2 / 2 / 0
Регистрация: 14.12.2011
Сообщений: 44
20.05.2013, 19:04  [ТС]
MrGluck, спасибо, совсем забыл, что в K&R было чтение самого массива
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.05.2013, 19:04
Помогаю со студенческими работами здесь

Ошибка компиляции VBA, требуют скобку
VBA выдает ошибку в формуле f=abs(exp(a)-a^b+3^7)^(1/7)*log(a^3+3)^2*(atn(a*b)+2*atn(1)) Compile error Expected: ) нужна скобка,...

При компиляции программы происходит ошибка, что делать?
Доброго времени суток ,писал себе курсовую, ни кого не трогал ,и тут бац откуда не возьмись вот такая, ошибка никак не могу понять откуда...

При компиляции происходит ошибка - raised exception class segmentation fault (11)
Я начал недавно изучать программирование на андройд . Чтобы проверять работоспособность программы я решил все делать через виртуальный...

При выборе цвета линии с помощью random() происходит ошибка
Здравствуйте, уважаемые специалисты. У меня в программе есть непонятная ошибка, связанная с вызовом функции random(). Дела обстоят так....

Ошибка компиляции GCC Inline Assembly
#include "stdafx.h" #include <stdio.h> #include <windows.h> #include <locale.h> #include <string.h> int _tmain(int argc,...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru