해결된 질문
작성
·
155
·
수정됨
0
안녕하세요 큰돌님!
교안 p79에 memset() 개념에서
char형의 하나의 문자(a, b, c, 등..)으로 초기화도 가능하다고 하셨는데, 어떻게 초기화하면 될까요?
#include <bits/stdc++.h>
using namespace std;
const int max_n = 1004;
int a[max_n];
int a2[max_n][max_n];
int main()
{
memset(a, 'a', sizeof(a));
memset(a2, 0, sizeof(a2));
for (int i = 0; i < 10; i++)
cout << a[i] << ' ';
cout << '\n';
return 0;
}
위의 예제 코드를 실행하면
1633771873 1633771873 1633771873 1633771873 1633771873 1633771873 1633771873 1633771873 1633771873 1633771873
가 나옵니다ㅠㅠ
그리고 교안 80p에 예제코드로 올려주신 아래 코드가 잘못된 것 같습니다 🙂 수정해주시면 감사하겠습니다.
#include <bits/stdc++.h>
using namespace std;
int main()
{
int cnt = 0;
int a[5] = {
0,
};
while (++cnt != 10)
{
for (int i = 0; i < 5; i++)
a[i] = i;
a[5] = {
0,
};
for (int i : a)
cout << i << ' ';
cnt++;
}
return 0;
}
답변 1
0
안녕하세요 Clain님 ㅎㅎ
memset
-> char타입으로 안해서 그렇습니다.
char a[max_n];
int main()
{
memset(a, 'a', sizeof(a));
for (int i = 0; i < 10; i++)
cout << a[i] << ' ';
cout << '\n';
return 0;
}
이렇게 해보시겠어요?
80p 코드
>> 해당 부분은 수정하도록 하겠습니다.
#include <bits/stdc++.h>
using namespace std;
int main()
{
int cnt = 0;
int a[5] = {0, };
while(++cnt != 10){
for(int i = 0; i < 5; i++) a[i] = i;
a[5] = {0, };
for(int i : a) cout << i << ' ';
}
return 0;
}
불편을 드려 죄송합니다. cnt++이 더 들어갔네요 ㅠ
항사 제 교안을 자세하게 봐주셔서 감사합니다. ㅎㅎ
감사합니다.
앗 미처 발견을 못하고...ㅠㅠ 그럼에도 친절하게 설명해주셔서 감사합니다..ㅠㅠ
항상 친절히 설명해주시고 업데이트 해주셔서 감사합니다:)