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

Подпрограмма - C++

Восстановить пароль Регистрация
 
stdioh
Сообщений: n/a
22.01.2012, 15:21     Подпрограмма #1
Составить подпрограмму,переписывающую старую строку в новую,так чтобы все символы были через пробел
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
22.01.2012, 15:58     Подпрограмма #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
 
void AddWS(char* s, char* res)
{
    while(*res++ = ' ', *res++ = *s++);
}
 
int main ()
{
    char* s = "fG 56", res[256];
    AddWS(s, res);
    puts(res);
    return 0;
}
Байт
 Аватар для Байт
13974 / 8805 / 1227
Регистрация: 24.12.2010
Сообщений: 15,949
22.01.2012, 16:11     Подпрограмма #3
Вы уверены, что конец цикла определится
C
1
 while(*res++ = ' ', *res++ = *s++);
Ведь если операторы через запятую, транслятор сам определяет порядок вычислений
Или я чего недопонимаю...
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
22.01.2012, 16:25     Подпрограмма #4
Байт, не должно.
The , operator causes the expressions on either side of it to be executed in left-to-right order, and obtains the value of the expression on the right.
The comma operator has left-to-right associativity. Two expressions separated by a comma are evaluated left to right. The left operand is always evaluated, and all side effects are completed before the right operand is evaluated.
Хотя мне самому, также не очень эта запись...
Байт
 Аватар для Байт
13974 / 8805 / 1227
Регистрация: 24.12.2010
Сообщений: 15,949
22.01.2012, 16:37     Подпрограмма #5
Цитата Сообщение от Байт Посмотреть сообщение
Ведь если операторы через запятую, транслятор сам определяет порядок вычислений
Значит, у меня это шумовая информация, может быть из какого-то другого языка.
Но, конечно, по доброй воле я такую конструкцию применять бы не стал. Просто чтобы голова лишний раз не болела.
Yandex
Объявления
22.01.2012, 16:37     Подпрограмма
Ответ Создать тему
Опции темы

Текущее время: 23:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru