Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
Veronika_Kon
0 / 0 / 0
Регистрация: 09.12.2018
Сообщений: 47
1

Ошибка компиляции

06.02.2019, 13:01. Просмотров 842. Ответов 4

Здравствуйте, подскажите пожалуйста в чем ошибка программы.
C++
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h> 
#include <string.h> 
void f(char *s,int i) { 
*(s + i) = '\0'; 
} 
int main(void) { 
char a[] = { 'a','b','c','d' }; 
f(a[1],1); 
printf("%d",strlen(a)); 
return 0; 
}
Проблема в строке f(a[1],1);
Если стоит a[1] возникают ошибки. А если поставить (а + 1) то она работает.
Но разве а[1] не верно?
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2019, 13:01
Ответы с готовыми решениями:

Ошибка при компиляции. Где ошибка? (Работа с классом)
Уважаемые форумчане! При компиляции проекта возникает ошибка &quot; undefined reference to...

При компиляции ошибка. Ошибка c++ C2678
Ошибка c++ C2678 #include &lt;windows.h&gt; #include &lt;string&gt; #include &lt;iostream&gt; #include &lt;conio.h&gt;...

ошибка компиляции
имеем вот такую вещь: for(const AuraEffect* aurEff : m_effects) delete aurEff; ...

Ошибка компиляции
Хм,начал компилить первые наброски курсача получил непонятную для меня ошибку( прошу помощи ...

Ошибка компиляции
Здравствуйте. Попробовал данный код скомпилировать в dev c++ 4.9.9.2. Выдает ошибки что не хватает...

4
Azazel-San
Mental handicap
1079 / 537 / 154
Регистрация: 24.11.2015
Сообщений: 2,192
Завершенные тесты: 1
06.02.2019, 13:04 2
Лучший ответ Сообщение было отмечено Veronika_Kon как решение

Решение

Цитата Сообщение от Veronika_Kon Посмотреть сообщение
Но разве а[1] не верно?
Нет, вы же хотите передать указатель, а передаете символ.
0
Verevkin
2447 / 1306 / 322
Регистрация: 12.03.2015
Сообщений: 7,089
06.02.2019, 13:07 3
Цитата Сообщение от Veronika_Kon Посмотреть сообщение
Но разве а[1] не верно?
Функция хочет указатель на вход. Поэтому ещё вариант:
C++
1
f(&a[1], 1);
1
Azazel-San
Mental handicap
1079 / 537 / 154
Регистрация: 24.11.2015
Сообщений: 2,192
Завершенные тесты: 1
06.02.2019, 13:07 4
Цитата Сообщение от Veronika_Kon Посмотреть сообщение
C++
1
*(s + i) = '\0';
И зачем портить строку?
0
Veronika_Kon
0 / 0 / 0
Регистрация: 09.12.2018
Сообщений: 47
06.02.2019, 13:17  [ТС] 5
Спасибо.Я поняла причину)
0
06.02.2019, 13:17
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.02.2019, 13:17

ошибка компиляции
1&gt;C:\PROGRAM FILES (X86)\MICROSOFT VISUAL...

Ошибка компиляции
Пытаюсь &quot;испробовать&quot; код приведенный в качестве примера на одном сайте обучения С++. Выдается...

Ошибка компиляции
Здравствуйте учу С++ по книге Дейтела, вот возникла ошибка компиляции программы: #include...


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

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

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