#include "stdafx.h"
#include<locale.h>
#include<conio.h>
int _tmain(int argc, _TCHAR* argv[])
{
setlocale(LC_ALL, "RUSSIAN");
char si[3]={0};
char s[10]={""},s1[10]={""};
int r=0,r1=0,r2=0;
float a;
printf("введите a:\n");
scanf("%s", si);
printf("%s\n", si);
getch();
}
Другие языки программирования и технологии
C почему у меня массив на 4 символа, а я ввожу 10 например, и он потом выводит 10 из этого массива, вот мой код:
#include <stdio.h>
#include <locale.h>
#include <conio.h>
int main () {
unsigned char a[4] = {0};// Обяъвили символьный массив, размером на 4 символа
setlocale(LC_CTYPE, "Russian_Russia.1251");
printf("Введите a: ");
setlocale(LC_CTYPE, "English_United States.866");
scanf("%s", a); // Теперь можно ввести строку, без пробелов, длиною в 3 символа.. .
setlocale(LC_CTYPE, "Russian_Russia.1251");
printf("Вы ввели: ");
setlocale(LC_CTYPE, "English_United States.866");
printf("%s", a); // ...и вывести её!
getch();
return 0;
}
Какие будут вопросы по теме?
#include <locale.h>
#include <conio.h>
int main () {
unsigned char a[4] = {0};// Обяъвили символьный массив, размером на 4 символа
setlocale(LC_CTYPE, "Russian_Russia.1251");
printf("Введите a: ");
setlocale(LC_CTYPE, "English_United States.866");
scanf("%s", a); // Теперь можно ввести строку, без пробелов, длиною в 3 символа.. .
setlocale(LC_CTYPE, "Russian_Russia.1251");
printf("Вы ввели: ");
setlocale(LC_CTYPE, "English_United States.866");
printf("%s", a); // ...и вывести её!
getch();
return 0;
}
Какие будут вопросы по теме?
Во-первых, у тебя НЕТ НИ ОДНОГО массива на 4-ре символа.
Во-вторых, а в чём вопрос то ?
ЗЫ. И вообще, половину кода — выкинуть, он не используется.
Во-вторых, а в чём вопрос то ?
ЗЫ. И вообще, половину кода — выкинуть, он не используется.
я на си не програмирую ))) для этого у меня ДЕЛФИ ЕСТЬ, намного понятней.
попробую расшифровать программу, а вдруг угадаю:
char si[3]={0}; ------СИ - массив цифр из 3 ячеек
char s[10]={""},s1[10]={""}; ---массивы текста по 10 ячеек
int r=0,r1=0,r2=0; - переменные, не использовались )))
float a; ----а типа дробная наверно ?
printf("введите a:\n"); - вывело текст на экран
scanf("%s", si); ----запросило значения в массив СИ
printf("%s\n", si); -----вывело значения массива СИ
getch(); ----жду нажания клавиши (пауза)
да и вопрос у тебя звучит некорректно, непонятно что ты делаешь, что хочешь, а что в итоге вышло
поясни толково
попробуй вводить значения вручную
scanf("%s", si[1]);
scanf("%s", si[2]);
scanf("%s", si[3]);
и т. д.
так же и выводить
смотрю на код языка СИ++ --черт ногу сломит, пипец.
Ассемблер легче.
попробую расшифровать программу, а вдруг угадаю:
char si[3]={0}; ------СИ - массив цифр из 3 ячеек
char s[10]={""},s1[10]={""}; ---массивы текста по 10 ячеек
int r=0,r1=0,r2=0; - переменные, не использовались )))
float a; ----а типа дробная наверно ?
printf("введите a:\n"); - вывело текст на экран
scanf("%s", si); ----запросило значения в массив СИ
printf("%s\n", si); -----вывело значения массива СИ
getch(); ----жду нажания клавиши (пауза)
да и вопрос у тебя звучит некорректно, непонятно что ты делаешь, что хочешь, а что в итоге вышло
поясни толково
попробуй вводить значения вручную
scanf("%s", si[1]);
scanf("%s", si[2]);
scanf("%s", si[3]);
и т. д.
так же и выводить
смотрю на код языка СИ++ --черт ногу сломит, пипец.
Ассемблер легче.
10 чего? число 10? он записывает в массив '1', '0', '\0' - это null terminated строка, следующей командой ты ее вы выводишь. или 10 символов? тогда ты залезаешь в память которая тебе не принадлежит, поведение программы в этом случае не определено и опасно, подобные ошибки приводят к stack corruption эксплойтам, но т. к. у тебя тут пара команд, то не исключено, что прокатывает, хотя компилятор должен исходить желчью по-идее.
не понятно, интересно что тут и видимо никто не знает
Похожие вопросы
- Задача на C++ по одномерным (статическим) массивам, помогите сделать, пожалуйста, очень надо на завтра
- C++. Работа со строковыми массивами.
- Каким образом в c++ можно передать двумерный массив в фунцкию?
- Количество максимальных (C++) как решить без массивов?
- помогите пожалуйста с массивом А- массив из 10 целых чисел найти число больше 10 сообщить его номер.
- Задан массив m на n. Числа m и n вводятся вручную. Заполнить массив случайным образом. Найти произведение чисел от 10 до
- Методология понимания массива объектно-ориентированного кода из 40 файлов?
- C# Почему const uint SIZE не воспринимается массивом, как константа, а int работает? Погрешности с double
- C# программа с байтами, массивами и циклами
- Подскажите есть ли в c# строковые имена индексов массива как в PHP (пример a["abc"])? если есть то как с ними работать
камрад, заканчивал бы ты с советами :), массивы в C с нуля индексируются, а не с единицы как в Delphi обычно, scanf получает адреса переменных, т.е. ей нужен PChar а не Char - в твоих терминах! ;)
>> смотрю на код языка СИ++ --черт ногу сломит, пипец.
Приведи прямо тут в комменте пример форматированного на Delphi и я признаю что там все выглядит лучше. Не поверишь, в delphi делают тоже самое, а не используют write, writeln