온라인 솔루션을 검색하려고 시도했지만 찾을 수 없습니다. 내가 온 옷장은char와 int의 합계가 내 C++ 코드에서 이상한 문자로 연결됩니다.
int main()
{
char a[1000000],s[100000];
scanf("%s",s);
int i,l=strlen(s);
//cout<<l;
for(int i=0;i<l;i++)
a[i]=s[l-i-1]; //to reverse the word in s[]
cout<<a<<endl;
for(i=0;i<l;i++)
{
s[i]+=a[i]-96;
if(s[i]>'z')
{
int diff=s[i]-'z';
s[i]='a'+(diff-1);
}
}
cout<<s;
return 0;
}
//l=length of string.
//a[i]=is another string with word in s[] being reversed.
내 문제는 내가 이것을 실행하고 입력을 줄 때, 말, world
이 일부 이상한 문자를 인쇄한다는 것입니다 .... 다음은이 A similar unanswered question on cplusplus.com
내 코드입니다. 내가 적용한 논리에 어떤 결함도 보이지 않아서 나는 지금 좌절감을 느낍니다. 질문은 질문
는 내가 다른 하나의 버전을 반전 중 하나는 두 개의 문자열을 추가하기로 오전이고 또한 그런 방법이 'a' + 'b' = 'c'
, 'd' + 'a' = 'e'
.... 그리고 'z' + 'a' = 'a'
에서 수행하는 것입니다. 그래서 추가는 작은 알파벳 아래 닫힙니다.
C++에서 특정 * 인코딩 *을 사용하는 것은 좋지 않습니다. 그러면 코드가 이식 가능하지 않기 때문입니다. 다시 엔지니어를 제안하고 버그가 사라 졌으면 좋겠습니까? – Bathsheba
문자의 ASCII 숫자를 검색 할 수 있습니다. – camelccc
특정 코드 및 이식 가능 코드가 아니라 무엇을 의미합니까? 좀 더 설명해 주시겠습니까? –