C++ сомнение : я перевернул массив символов. Но я получаю некоторые ненужные значения.
Привет..
Я перевернул массив символов. Но я получаю некоторые ненужные значения.
Извините, если это кажется глупым сомнением ... я только начинаю с++...
PFB код, который я написал, чтобы обратить вспять массив символов.
#include<iostream> #include<stdio.h> #include<conio.h> #include<string.h> using namespace std; int main() { char a[10],b[10]; int i,j,k,z; cout<<"enter a="; gets(a); cout<<"the array is-"<<a<<endl; i = strlen(a); k=i-1; for(j=0;j<i;j++) { b[j]=a[k]; k--; } b[j]='/0'; cout<<"reversed-"<<b<<endl return 0; }
Полученный результат выглядит следующим образом:
массив таков-
manc
обратный-
cnam0'?&9manc
Как вы могли видеть, массив перевернут, так как cnam был перевернутыми символами, но за ним следуют ненужные значения.
В чем причина этих мусорных ценностей? Как их избежать?
Что я уже пробовал:
Я смог отобразить то,что мне было нужно, просто используя цикл for. Но я хотел знать, почему отображаются ненужные значения и каково их значение.
PIEBALDconsult
'/0 ' должно быть '\0'
0x01AA
5 даже это не считается
Afzaal Ahmad Zeeshan
Они действительно считаются... Поистине. :-)
Redmanc
да...это была ошибка...спасибо!!