Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2013, 23:34   #1
tkach_fcz
 
Регистрация: 10.09.2013
Сообщений: 7
По умолчанию Длина строки в одномерном массиве язык С. Ответьте, пожалуйста!

помогите, пожалуйста.
Код:
char a1[]="abcde";
char a2[]={'a','b','c','d','e'};
printf("%s size=%d len=%d\n", a1, sizeof(a1), strlen(a1));
printf("%s size=%d len=%d\n", a2, sizeof(a2), strlen(a2));
почему во второй строчке strlen(a2) возвращает 21?

а если сделать так:
Код:
char a1[]="abcd";
char a2[]={'a','b','c','d'};
printf("%s size=%d len=%d\n", a1, sizeof(a1), strlen(a1));
printf("%s size=%d len=%d\n", a2, sizeof(a2), strlen(a2));
то 16
tkach_fcz вне форума Ответить с цитированием
Старый 03.01.2014, 23:41   #2
InKo1
Пользователь
 
Регистрация: 16.01.2011
Сообщений: 18
По умолчанию

'\0' в a2 забыл
InKo1 вне форума Ответить с цитированием
Старый 04.01.2014, 01:29   #3
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от tkach_fcz Посмотреть сообщение
помогите, пожалуйста.
Код:
char a1[]="abcde";
char a2[]={'a','b','c','d','e'};
printf("%s size=%d len=%d\n", a1, sizeof(a1), strlen(a1));
printf("%s size=%d len=%d\n", a2, sizeof(a2), strlen(a2));
почему во второй строчке strlen(a2) возвращает 21?
Угадайте загадку: почему количество элементов в первом массиве 6, а не 5. Что содержит самый последний элемент? И что он значит для языка си?
_Bers вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ответьте пожалуйста alekopoko Свободное общение 24 26.12.2013 03:00
С++ В одномерном массиве, demonvuck Помощь студентам 1 30.05.2013 21:49
В двумерном массиве найти среднеарифметическое положительных элемен-тов каждой строки. Язык Pascal. Pa s Помощь студентам 8 27.05.2012 21:44
пв одномерном массиве... Avvakymova Паскаль, Turbo Pascal, PascalABC.NET 4 13.05.2011 19:53
Ответьте мне пожалуйста! Хост Помощь студентам 3 06.06.2009 14:59