C언어 정리1 학교 공부하면서 미흡했던 부분을 정리했다. 나중에 시간을 들여 다시 다듬어서 작성할 예정임. 헤더파일 : 외부소스 파일에 정의된 변수나 함수에 대한 레퍼런스 #include -> 헤더파일 부분에는 ; 붙이면 안됨 rand() rand() % 10 : 0~9랜덤 rand() % 10 + 1 : 1~10랜덤 system("cls"); 콘솔창 지우기 system("timeout 1 > NULL"); 1초 대기 system("timeout -1 > NULL"); 엔터 칠 때마다 다음 명령 수행 srand((unsigned)time(NULL)); rand()함수는 결과의 순서가 정해져 있으므로 srand와 함께 써야함. rand()사용전에 한번만 사용하기. sqrt(7) -> 루트 7 if문, 반복..
while문에서 continue 사용 시 에러, 문제가 발생하는 경우 반복문에서 조건문을 통해 특정 케이스에 대해 continue를 걸게 되면 continue 아래의 코드는 수행되지 않고 다음 케이스로 넘어간다. #include int main() { int sum = 0; for (int i = 1; i n=7 -> continue 인 상황이 반복되었기 때문이었다. for문은 형식상 증감문을 빠뜨릴 일이 잘 없지만 while문은 증감문을 무시하는 경우가 많아 이러한 실수를 많이 하게 된다. #include int main(){ int sum = 0; int n = 1; while (n
[C언어] 문자열 복사 strcpy 함수 저장할 문자열의 길이를 파악하여 딱 그 길이만큼 다른 배열에 복사하는 함수가 있다. string.h 헤더를 사용하는 strcpy함수이다. strcpy(arr1, "apple"); 첫 번째 인수인 배열에 두 번째 인수의 값을 대입한다고 생각하면 된다. 단, 첫 번째 인수에 배열이 아니라 문자열이 들어가면 안 된다. 컴파일은 되지만 문제가 생길 수 있다. 양쪽에 배열을 넣는 것은 가능하다. strcpy(arr1, arr2); arr1에 arr2의 값을 집어넣을 것이다. #include #include int main(void){ char arr1[80] = "cat"; char arr2[80]; strcpy(arr1, "tiger"); strcpy(arr2, arr1..
char 배열 선언시 저장할 문자열의 길이보다 최소한 하나 이상 크게 배열을 선언해야한다는 점을 명심하자. 여분의 공간, 문자열의 마지막에 널 문자(/0)를 저장해야 하기 때문이다. char arr1[3], arr2[3]; scanf("%s %s", arr1, arr2); printf("%s %s",arr1,arr2); 입력 >> 123 456 456 배열 크기를 3으로 잡아놓고 입력값 길이를 3으로 주었기 때문에 결과값이 이상하게 나온다. char arr1[4], arr2[4]; scanf("%s %s", arr1, arr2); printf("%s %s",arr1,arr2); 입력 >> 123 456 123 456 널 문자는 아스키 코드 값이 0인 문자를 말하며 문자 상수로는 /0으로 표현된다. 문자열..