Форум программистов, компьютерный форум 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 stolbcov v matrice\n"); scanf("%d", &m);
C++ Определители матрицы найти компактным методом исключения (метод крамера) определители матрицы нужно найти компактным методом исключения (это как?). Коэффициенты представленны структурой компклесного числа в символьной форме. помогите решить!! И чем символьная фрма отличается от алгебраической? http://www.cyberforum.ru/cpp-beginners/thread21776.html
C++ Помогите с выводом комбинаций
Вот есть код для вывода комбинаций символов. Но он почему то ничего не выводит на экран. В чём может быть проблема? #include<stdio.h> #include<string.h> void main() { char *str = "123"; char q, num_1, num_2, pass;
C++ Поменять местами два ряда матрицы с наибольшей и наименьшей сумой элементов
Доброго времени суток. Начал учиться програмировать на С. Столкнулся с некоторыми проблемами при выполнении некоторых задач. Не прошу делать за меня никакую работу, прошу просто посмотреть и помочь советом начинающему. Задача банальна. Надо ввести с клавиатуры прямоугольную матрицу и поменять местами два ряда с наибольшей и наименьшей сумой элементов. Пробовал сделать так: #include...
C++ Может есть варианты по проще?? http://www.cyberforum.ru/cpp-beginners/thread21702.html
решил задачу....но может её можно как нить по проще сделать.. прога удаляет все повторяющиеся символы в строке, не создавая новой строки #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { char s="adia baoby dod";
C++ работа с массивами и структурами. Здравствуйте.нужна помощь...у нас есть структура с именем train, в которой описывается пункт назначиения, номер поезда и время отправления.Нужно реализовать введение в массив данных, вывод должен быть по номерам поезда. Также нужно реализовать вывод на экран информации про поезд,номер которого введен с клавиатуры. Вроде все реализовал, кроме вывода на экран информации про поезд,номер которого... подробнее

Показать сообщение отдельно
accept
4820 / 3240 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
26.01.2009, 11:50     Выделение памяти scanf
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 минут полстроки будет перезаписано чем-нибудь запросившим память
а тут я тебе просто показываю как эта строка стирает блок
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru