Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.10.2013, 13:36   #1
lialia
Форумчанин
 
Регистрация: 08.12.2012
Сообщений: 116
По умолчанию Указатели С++

Здравствуйте)Подскажите пожалуйста,почему такой вывод?в чем ошибка?Symbol: q¤¤¤¤лллллллл■ю■

Код:
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
 
void str(char *str1, char *str2)
{
 
  int i=0;
  char *str3= new char (5);
  while((*(str1+i)) && (*(str2+i)))
  {
     if(*(str1+i) != *(str2+i))
     {
        *str3=  *(str2+i);
        printf("Symbol: %s\n", str3);
 
     }
     i++;
   }
}
 
int main()
{
    char *str1="Hedd";
    char *str2="Hqdd";
 
    str(str1, str2);

  getch();
    return 0;
}
lialia вне форума Ответить с цитированием
Старый 19.10.2013, 13:53   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,316
По умолчанию

Код:
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

void
str(char *str1, char *str2)
{
    int i = 0;
    while (str1[i] && str2[i]) {
        if (str1[i] != str2[i])
            printf("Symbol: '%c'\n", str2[i]);
        ++i;
    }
}
 
int
main()
{
    char str1[] = "Hello";
    char str2[] = "Goodbye";
    str(str1, str2);
    getch();
    return 0;
}
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 19.10.2013, 14:18   #3
lialia
Форумчанин
 
Регистрация: 08.12.2012
Сообщений: 116
По умолчанию

Подскажите пожалуйста,программно нужно написать фунцию strchr(используя только указатели) и пользователь вводит строку сам,а вывод получается такой,что не так?
Symbol: 'G'
Symbol: 'o'
Symbol: 'o'
Symbol: 'd'
Symbol: 'b'
lialia вне форума Ответить с цитированием
Старый 19.10.2013, 14:57   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,316
По умолчанию

Код:
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

char *
mystrchr(char *s, char ch)
{
    while (s && *s != ch)
        ++s;
    if (*s)
        return s;
    else
        return NULL;
}
 
int
main()
{
    int bytes_read;
    int nbytes = 100;
    char *my_string;
    puts ("Please enter a line of text.");
    my_string = (char *) malloc(nbytes + 1);
    bytes_read = getline(&my_string, &nbytes, stdin);
    if (bytes_read == -1)
        puts("ERROR!");
    char ch;
    printf("Input char\n");
    scanf("%c", &ch);
    char *str = mystrchr(my_string, ch);
    if (str)
        printf(str);
    else
        printf("NULL pointer\n");
    free(my_string);
    getch();
    return 0;
}
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 19.10.2013, 15:05   #5
lialia
Форумчанин
 
Регистрация: 08.12.2012
Сообщений: 116
По умолчанию

спасибо большое)не подскажите ,а как сделать чтобы она не вылетала при запуске?
lialia вне форума Ответить с цитированием
Старый 19.10.2013, 15:06   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,316
По умолчанию

Пожалуйста.
В смысле вылетает. После ввода данных или до?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 19.10.2013, 15:14   #7
lialia
Форумчанин
 
Регистрация: 08.12.2012
Сообщений: 116
По умолчанию

до,я ставлю на выполнение,а она запускается на секунду и вылетает
lialia вне форума Ответить с цитированием
Старый 19.10.2013, 15:45   #8
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,316
По умолчанию

Код:
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

char *
mystrchr(char *s, char ch)
{
    while (s && *s != ch)
        ++s;
    if (*s)
        return s;
    else
        return NULL;
}

int
main()
{
    char str[256], ch;
    puts("Input string:");
    gets(str);
    puts("Input char:");
    ch = getchar();
    char *p = mystrchr(str, ch);
    if (p)
        printf(p);
    else
        printf("NULL pointer\n");
    getch();
    return 0;
}
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 19.10.2013, 16:09   #9
lialia
Форумчанин
 
Регистрация: 08.12.2012
Сообщений: 116
По умолчанию

спасибо )
lialia вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Указатели *cash* Помощь студентам 2 16.04.2012 23:23
Указатели в С++ iKarma Общие вопросы C/C++ 2 23.10.2011 17:48
Указатели sid Помощь студентам 2 02.01.2010 23:23
Указатели AquaticSoul Общие вопросы C/C++ 5 22.12.2009 15:13
[C] массивы, указатели, двойные указатели. Iggel Общие вопросы C/C++ 5 05.05.2009 12:39