Мне задали вопрос о назначении укусов. Заданный вопрос: С учетом декларации: char myString[16];
Какое из следующих утверждений действительно? Если оператор недействителен, укажите правильный синтаксис.Нужна помощь в понимании действительных операций C-строк в C++
a. strcpy(myString, “Hello the world”);
b. strlen(myString);
c. myString = “Marylane”;
d. cin.getline(myString, 80);
e. cout << myString;
f. if (myString >= “Nice day”)
cout << myString;
g. myString[6] = ‘t’;
The Мне удалось собрать некоторые из этих разделов следующим образом:
/*b.*/ int len;
len = strlen(myString);
/*c.*/ strcpy(myString, “Hello the world”);
/*f.*/ int strTest;
strTest = strcmp(myString, "Nice day");
if (strTest < 0)
cout << myString << endl;
else
{
cout << "No Dice" << endl;
}
Я предположил, «г» будет недействителен, потому что я думал, что вы не могли бы использовать операторы присваивания, но я получил его компилировать. Может ли это объяснить?
Почему вы не сможете использовать оператор присваивания? В этом случае вы просто присваиваете необработанное значение ячейке памяти. – jtbandes
Вы не можете назначить массив, но вы можете назначить один элемент в массиве (если только он не является массивом). –
Что бы вы считали правильным способом установить седьмой символ в строке на 't'? –