Как заставить его работать на C++?
#include<stdio.h> #include<string.h> #include<conio.h> void main() { clrscr(); int a,c; char string[10]; cout<<"\nEnter the numbers:"; cin>>a; for(int i=0;i<a;i++)> { cin>>string[i]; } for(int j=1;j<a;j++)> { c=strlen(string[j]); } cout<<c; getch(); }
Что я уже пробовал:
Я пытаюсь получить длину каждой строки. Когда я запускаю программу, я получаю ошибку
"Не удается преобразовать int в const char *" в строке c=strlen...
Может ли кто-нибудь помочь решить эту проблему?
Если я поставлю for (int j=0, k=0;j< a,k< a; j++, k++)>>
{c[k]=strlen(string[j]);
}
сработает ли это?
jeron1
Что именно вы пытаетесь сделать и что должно представлять собой ' char string[10];'?
OriginalGriff
Это массив с десятью значениями типа char, под названием "строки"
jeron1
Я знаю это, но не верю, что ОП знает. Я пытался заставить их описать свой мыслительный процесс, стоящий за этим утверждением, чтобы его можно было исправить.
Philippe Mori
Плохая идея называть переменную строкой, как в C++, это имя предопределенного класса.
Philippe Mori
Поскольку этот код не имеет большого смысла, было бы полезно, если бы вы рассказали нам, что вы пытаетесь сделать.
Вы можете разделить строку, на которой вы получили ошибку, на 2 строки, Если вы не в состоянии понять, в чем проблема. Кстати, проблема была бы более очевидной с полным сообщением об ошибке.
Какие входные данные вы хотите прочитать (символы или строки)?
Какое значение вы хотите вывести? длина последней строки, общая длина всей строки?
Member 11735960
Я хотел бы сначала ввести количество строк, то есть int. Затем введите каждую строку, а затем отобразите длину каждой строки одну за другой. Сначала я сделал это в Turbo C. Я просто изменил printf и scanf, чтобы они соответствовали форуму C++.
Ошибка находится в строке 17 и говорит: "не удается преобразовать int в const char *".
Philippe Mori
Очевидно, так оно и будет Cannot convert char to const char *
.
Полный ответ смотрите в моем решении.