Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Выделение памяти scanf - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти ошибку... http://www.cyberforum.ru/cpp-beginners/thread21797.html
#include <stdio.h> #include <stdlib.h> int main() { int i,j,n,m,p=0,o=0,k=0; int **mass1; printf( "vvedite kol-vo strok v matrice\n"); scanf ("%d", &n); printf( "vvedite kol-vo...
C++ Определители матрицы найти компактным методом исключения (метод крамера) определители матрицы нужно найти компактным методом исключения (это как?). Коэффициенты представленны структурой компклесного числа в символьной форме. помогите решить!! И чем символьная фрма... http://www.cyberforum.ru/cpp-beginners/thread21776.html
C++ Помогите с выводом комбинаций
Вот есть код для вывода комбинаций символов. Но он почему то ничего не выводит на экран. В чём может быть проблема? #include<stdio.h> #include<string.h> void main() { char *str = "123";...
C++ Поменять местами два ряда матрицы с наибольшей и наименьшей сумой элементов
Доброго времени суток. Начал учиться програмировать на С. Столкнулся с некоторыми проблемами при выполнении некоторых задач. Не прошу делать за меня никакую работу, прошу просто посмотреть и помочь...
C++ Может есть варианты по проще?? http://www.cyberforum.ru/cpp-beginners/thread21702.html
решил задачу....но может её можно как нить по проще сделать.. прога удаляет все повторяющиеся символы в строке, не создавая новой строки #include <stdio.h> #include <stdlib.h> #include...
C++ работа с массивами и структурами. Здравствуйте.нужна помощь...у нас есть структура с именем train, в которой описывается пункт назначиения, номер поезда и время отправления.Нужно реализовать введение в массив данных, вывод должен... подробнее

Показать сообщение отдельно
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
26.01.2009, 11:50
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
main()
{
    char * c = (char *) malloc(sizeof(char));
    char * n = (char *) malloc(sizeof(char));
    
    printf("Input string :\r\n");
    
    /* здесь я ввёл aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
       и прога вывалилась при free((void *) n); */
    scanf("%s", c);
    printf("\r\nstring len %d\r\n", strlen(c));
    printf("\r\nYour input string :\t%s\r\n", c);
    
    free((void *) c);
    free((void *) n);
    getchar();
    return 0;
}
она пишет за край блока, там память считается незанятой (даже не переполнение буфера играет роль), просто когда память не занята она может быть предоставлена кому-нибудь, то есть ты вводишь строку а через 5 минут полстроки будет перезаписано чем-нибудь запросившим память
а тут я тебе просто показываю как эта строка стирает блок
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru