#include <stdio.h>
#include <string.h>
int main(void){
char s1[30]="abcdefghijklmnopqrstuvwxyz";
printf("%s\n",s1);
printf("%s",memset(s1,'b',7));
getch();
return 0;
}
Над кодом работает, но когда я создаю массив s1, как это,В чем отличие этих объявлений массивов?
char *s1="abcdefghijklmnopqrstuvwxyz";
это не дает каких-либо ошибок во время компиляции, но не запускается во время выполнения.
Я использую Visual Studio 2012.
Вы знаете, почему?
Я нашел прототип MemSet является:
void *memset(void *s, int c, size_t n);
не удается ?? Какая ошибка? Не выводится ли выход? Вывоз мусора? –
Необработанное исключение в 0x0F251CF5 (msvcr110d.dll) в C_Son38.exe: 0xC0000005: место записи нарушения доступа 0x00D15858. (Перерыв, Продолжить, Игнорировать кнопки) – Lyrk
Вы пишете только сегмент памяти только для чтения. Как уже объяснялось в ответах –