Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
Sade
2 / 2 / 1
Регистрация: 20.03.2012
Сообщений: 42
1

Ошибка при использовании strlen

13.05.2012, 22:00. Просмотров 2053. Ответов 4
Метки нет (Все метки)

scanf("%s",&s);
d=strlen(s);
чего ошибка?
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2012, 22:00
Ответы с готовыми решениями:

При попытке вычислить длину строки стандартной функцией strlen возникает ошибка
Есть код, в котором объявлена volatile-переменная c_buf, представляющая собой массив символов: ...

Почему в коде записано strlen()+1 вместо strlen()
здравствуйте. объясните пожалуйста. почему для выделения места на основе размера уже существующей...

Ошибка при использовании структур
Мне задали очень странное дополнительное задание. Организовать многочлены, с которыми я оперирую в...

Ошибка при использовании delete
#include <iostream> #include <stdio.h> using namespace std; void main() { char *ar=new...

Ошибка при использовании Clrscr
#include <stdio.h> #include <math.h> #include<iostream> double SumD(int a) { double s=a;...

4
easybudda
Модератор
Эксперт JavaЭксперт CЭксперт С++
10684 / 6386 / 1591
Регистрация: 25.07.2009
Сообщений: 12,128
13.05.2012, 22:02 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Sade, зависит от того, как s объявлена
C
1
2
3
4
5
#include <string.h>
/*...*/
char s[256];
scanf("%255s", s);
printf("%d\n", strlen(s));
0
Toshkarik
1170 / 883 / 94
Регистрация: 03.08.2011
Сообщений: 2,450
Завершенные тесты: 1
13.05.2012, 22:03 3
Понятия не имеем. Выкладывайте весь код, пожалуйста. Скорей всего дело в амперсанде перед s в scanf().
0
Sade
2 / 2 / 1
Регистрация: 20.03.2012
Сообщений: 42
13.05.2012, 22:04  [ТС] 4
да так

Добавлено через 46 секунд
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include<stdio.h>
#include<stdlib.h>
#include<memory.h>
#include<string.h>
#include<cstring>
int labels[11]={},d,i;
unsigned char s[11],s1[11];
 
void per(int x){
if(x==d){printf("%s\n",s1);}     
for(i=0;i<=d;i++)
                  if(labels[i]==0){
                                  labels[i]=1;
                                  s1[x+1]=s[i];
                                  per(x+1);
                                  labels[i]=0;
                                  } 
                }
 
main(){
freopen("input.txt","r",stdin);
 freopen("output.txt","w",stdout);
scanf("%s",&s);
d=strlen(s);
 per(0);        
       }
0
Toshkarik
1170 / 883 / 94
Регистрация: 03.08.2011
Сообщений: 2,450
Завершенные тесты: 1
13.05.2012, 22:21 5
Цитата Сообщение от Sade Посмотреть сообщение
scanf("%s",&s);
Уберите символ амперсанда
C
1
scanf("%s", s);
0
13.05.2012, 22:21
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.05.2012, 22:21

Ошибка при использовании указателей
Задание Составить программу, которая заполняет массив случайными целыми числами из диапазона,...

Ошибка при при использовании realloc
В методе AddItem вылетает ошибка доступа к памяти... С чем это может быть связано? #pragma...

Ошибка при использовании аргумента по умолчанию
Не пойму, почему ошибка? #include &lt;stdio.h&gt; int arav(int amount=5) { return ++amount; }...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.