Для вывода двух переменных в строку можно использовать функцию - strcat.
R=999.1;
I=1.123;
_sprintf_ (bufA, "R=%1f ", R);
_sprintf_ (bufB, " I=%3f ", I);
strcat(bufA, bufB);
Набор функций печатает строку: "R=999.1 I=1.123"
Для вывода двух переменных в строку можно использовать функцию - strcat.
R=999.1;
I=1.123;
_sprintf_ (bufA, "R=%1f ", R);
_sprintf_ (bufB, " I=%3f ", I);
strcat(bufA, bufB);
Набор функций печатает строку: "R=999.1 I=1.123"
Rationale for International Standard— Programming Languages— C
http://www.open-std.org/jtc1/sc22/wg...onaleV5.10.pdf
Статья автора SDCC - Sandeep Dutta.
http://embedded.ifmo.ru/sdk/sdk11/so.../Dutta-121.pdf
A Retargetable ANSI-C Compiler
Этот Sandeep Dutta, похоже, руководитель департамента фирмы IBM в Индии.
Операции, операторы и выражения в языке Си (C)
http://www.itstan.ru/programmirovani...zyke-si-c.html
Запускал CodeBlocks который лежит по ссылке - http://arduinodev.com/codeblocks/
Версия 12.11
Через некоторое время слетает - т.е. перестает запускаться.
Выяснилось, что портится файл "default.conf", который лежит в папке CodeBlocks.
Что бы устранить это, сохраняем этот файл с "левым" названием, например, так: "default_.conf"
Когда CodeBlocks слетает, то восстанавливаем файл "default.conf" из "default_.conf" - и все опять работает.
Компилятор прикольно работает.
В какой то момент пишет ошибку
"?ASlink-Error-Could not get 5 consecutive bytes in internal RAM for area DSEG.
?ASlink-Error-Could not get 4 consecutive bytes in internal RAM for area OSEG."
Беру в строке программы:
result = nt.massiv[5] / result;
пишу так:
if(result>0) result = nt.massiv[5] / result;
в результате и памяти хватает и ошибки нет.
Похоже на работу двух различных подпрограмм деления.
Описание языка программирования ANSI C.
http://cpp.com.ru/ansi_c/index.html
Описание языка программирования ANSI C.
http://www.opennet.ru/docs/RUS/ansi-c/
Последний раз редактировалось Leff; 18.12.2018 в 21:03.