ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

๐Ÿ’•charํ˜• ๋ฐฐ์—ด์˜ ๋ฌธ์ž์—ด ์ €์žฅ๊ณผ '๋„(null)' ๋ฌธ์ž

 

๋ฌธ์ž์—ด์˜ ์ €์žฅ์„ ๋ชฉ์ ์œผ๋กœ charํ˜• ๋ฐฐ์—ด์„ ์„ ์–ธํ•  ๊ฒฝ์šฐ์—๋Š” ํŠน์ˆ˜๋ฌธ์ž '\0' ์ด ์ €์žฅ๋  ๊ณต๊ฐ„๊นŒ์ง€ ๊ณ ๋ คํ•ด์„œ ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ๊ฒฐ์ •ํ•ด์•ผ ํ•œ๋‹ค. ๋ฌธ์ž์—ด์˜ ๋์— ์ž๋™์œผ๋กœ ์‚ฝ์ž…๋˜๋Š” ๋ฌธ์ž '\0'์„ ๊ฐ€๋ฅด์ผœ '๋„(null)' ๋ฌธ์ž๋ผ ํ•œ๋‹ค.

์ด๋•Œ ๋„ ๋ฌธ์ž์˜ ์•„์Šคํ‚ค ์ฝ”๋“œ ๊ฐ’์€ 0์ด์ง€๋งŒ ์ด๋ฅผ ๋ฌธ์ž์˜ ํ˜•ํƒœ๋กœ ์ถœ๋ ฅํ•  ๊ฒฝ์šฐ, ์•„๋ฌด๋Ÿฐ ์ถœ๋ ฅ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค. 

 

scanf ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด ๋ฐฐ์—ด์— ๋ฌธ์ž์—ด์„ ์ž…๋ ฅ๋ฐ›๋Š” ์˜ˆ์ œ๋ฅผ ์‚ดํŽด๋ณด์ž 

 

#include <stdio.h>

int main()
{
	char str[50];
	int idx = 0;

	printf("๋ฌธ์ž์—ด ์ž…๋ ฅ: ");
	scanf("%s", str); //๋ฌธ์ž์—ด์„ ์ž…๋ ฅ ๋ฐ›์•„์„œ ๋ฐฐ์—ด str์— ์ €์žฅ
	printf("์ž…๋ ฅ ๋ฐ›์€ ๋ฌธ์ž์—ด: %s \n", str);

	printf("๋ฌธ์ž ๋‹จ์œ„ ์ถœ๋ ฅ: ");
	while (str[idx] != '\0') //null์ด ์•„๋‹ˆ๋ฉด ๋ฌธ์ž ๋‹จ์œ„๋ฅผ ์ถœ๋ ฅํ•˜๋ผ
	{
		printf("%c", str[idx]);
		idx++;
	}
	printf("\n");
}

 

RESULT:

์ž„์˜๋กœ SIMPLE ์ž…๋ ฅ

 

๋จผ์ € 9ํ–‰์˜ ๋ชจ์Šต์„ ๋ณด๋ฉด scanf ํ•จ์ˆ˜์— & ์—ฐ์‚ฐ์ž๊ฐ€ ์•ˆ๋ถ™์–ด ์žˆ๋Š” ๋ชจ์Šต์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. 

scanf("%s", str);

scanf ํ•จ์ˆ˜ ํ˜ธ์ถœ๋ฌธ ๊ตฌ์„ฑ ์‹œ, ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ๋ณ€์ˆ˜์˜ ์ด๋ฆ„ ์•ž์—๋Š” &๋ฅผ ๋ถ™์—ฌ์ฃผ์–ด์•ผ ํ•˜์ง€๋งŒ ๋ฌธ์ž์—ด์„ ์ž…๋ ฅ ๋ฐ›๋Š” ๋ฐฐ์—ด์˜ ์ด๋ฆ„ ์•ž์—๋Š” & ์—ฐ์‚ฐ์ž๋ฅผ ๋ถ™์ด์ง€ ์•Š๋Š”๋‹ค.

 

 

๋˜ ์œ„ ์˜ˆ์ œ์˜ ๋ฐ˜๋ณต๋ฌธ์„ ํ†ตํ•ด ๋ฐฐ์—ด์˜ ์ฒซ๋ฒˆ์งธ ์š”์†Œ๋ถ€ํ„ฐ ์ถœ๋ ฅ์„ ์‹œ์ž‘ํ•ด์„œ ๋„ ๋ฌธ์ž๋ฅผ ๋งŒ๋‚  ๋•Œ๊นŒ์ง€ ์ˆœ์ฐจ์ ์œผ๋กœ ์ถœ๋ ฅ์„ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋‹ค. ์‹คํ–‰๊ฒฐ๊ณผ๋ฅผ ํ†ตํ•ด ์šฐ๋ฆฌ๋Š” ์ž…๋ ฅ ๋ฐ›์€ ๋ฌธ์ž์—ด์ด ๋ฐ˜๋ณต๋ฌธ์„ ํ†ตํ•ด ์ •์ƒ์ ์œผ๋กœ, ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅ๋จ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

์ฆ‰, scanf ํ•จ์ˆ˜ํ˜ธ์ถœ์„ ํ†ตํ•ด์„œ ์ž…๋ ฅ ๋ฐ›์€ ๋ฌธ์ž์—ด์˜ ๋์—๋„ ๋„ ๋ฌธ์ž๊ฐ€ ์‚ฝ์ž…๋œ ๊ฒƒ์ด๋‹ค. 

 

๋„ ๋ฌธ์ž๋กœ ์ธํ•ด ๋ฌธ์ž์—ด์˜ ๋์„ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

 

 

 


๐ŸŽถ ์˜ˆ์ œ 1) 

ํ”„๋กœ๊ทธ๋žจ ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ํ•˜๋‚˜์˜ ์˜๋‹จ์–ด๋ฅผ ์ž…๋ ฅ ๋ฐ›์•„์„œ ์ž…๋ ฅ ๋ฐ›์€ ์˜๋‹จ์–ด์˜ ๊ธธ์ด๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•ด๋ณด์ž. ์˜ˆ๋ฅผ ๋“ค์–ด์„œ 'Array'๋ผ๋Š” ๋‹จ์–ด๊ฐ€ ์ž…๋ ฅ๋˜๋ฉด 5๊ฐ€ ์ถœ๋ ฅ๋˜์–ด์•ผ ํ•œ๋‹ค.

 

๐Ÿคฆ‍โ™€๏ธ ์ƒ๊ฐ ๊ณผ์ •

1. scanf ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ํ•˜๋‚˜์˜ ์˜๋‹จ์–ด๋ฅผ ์ž…๋ ฅ๋ฐ›์•„์•ผ๊ฒ ๋‹ค

2. ์˜๋‹จ์–ด์˜ ๊ธธ์ด๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ์•ผ ํ•˜๋Š”๋ฐ ๋ฌธ์ž์—ด์˜ ๋์—๋Š” null ๋ฌธ์ž๊ฐ€ ์‚ฝ์ž…๋˜์—ˆ์œผ๋‹ˆ null ๋ฌธ์ž๊ฐ€ ๋‚˜์˜ค๊ธฐ ์ „๊นŒ์ง€ ๋ฐ˜๋ณต๋ฌธ์„ ์ด์šฉํ•˜์—ฌ i++ ๋ฅผ ํ•˜์—ฌ ์ตœ์ข…์ ์œผ๋กœ i์˜ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋ฉด ๋˜๊ฒ ๋‹ค 

 

๋‚ด๊ฐ€ ์ƒ๊ฐํ•œ ๋‹ต

#include <stdio.h>

int main()
{
	char str[50];
	int i = 0;
	int num = 0;

	printf("ํ•˜๋‚˜์˜ ์˜๋‹จ์–ด๋ฅผ ์ž…๋ ฅํ•˜์‹œ์˜ค: ");
	scanf("%s", str);

	while (str[i] != '\0')
	{
		i++;
	}

	printf("%d", i);
}

RESULT:

 

 

๋‹ต์•ˆ:

#include <stdio.h>

int main()
{
	char voca[100];
	int len = 0;

	printf("์˜๋‹จ์–ด ์ž…๋ ฅ: ");
	scanf("%s", voca);

	while (voca[len] != 0)
		len++;

	printf("์ž…๋ ฅํ•œ ์˜๋‹จ์–ด์˜ ๊ธธ์ด๋Š” %d \n", len);
	return 0;
}

 

 

 

 


 

 

 

 

๐ŸŽถ ์˜ˆ์ œ 2)

ํ”„๋กœ๊ทธ๋žจ ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์˜๋‹จ์–ด๋ฅผ ์ž…๋ ฅ ๋ฐ›์•„์„œ charํ˜• ๋ฐฐ์—ด์— ์ €์žฅํ•œ๋‹ค. ๊ทธ ๋‹ค์Œ ๋ฐฐ์—ด์— ์ €์žฅ๋œ ์˜๋‹จ์–ด๋ฅผ ์—ญ์ˆœ์œผ๋กœ ๋’ค์ง‘๋Š”๋‹ค. ๋ฌผ๋ก  ์ด ๋•Œ์— ๋„ ๋ฌธ์ž์˜ ์œ„์น˜๋ฅผ ๋ณ€๊ฒฝํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค. ๋’ค์ง‘๊ณ  ๋‚˜์„œ๋Š” ์ œ๋Œ€๋กœ ๋’ค์ง‘ํ˜€์กŒ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ถœ๋ ฅํ•ด๋ณด์ž. 

 

๐Ÿคฆ‍โ™€๏ธ ์ƒ๊ฐ ๊ณผ์ •

1. scanfํ˜• ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ๋‹จ์–ด๋ฅผ ์ž…๋ ฅ๋ฐ›์ž

2. ์ž…๋ ฅ๋ฐ›์€ ๋‹จ์–ด๋ฅผ charํ˜• ๋ฐฐ์—ด์— ์ €์žฅํ•ด์•ผํ•˜๋‹ˆ ๋ฏธ๋ฆฌ charํ˜• ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด๋‘ฌ์•ผ๊ฐฐ๋‹ค.

3. while๋ฌธ์„ ์ด์šฉํ•ด์„œ ๊ธ€์ž์ˆ˜๋ฅผ ์„ธ๊ณ  ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ฐ˜๋ณต๋ฌธ์„ ์ด์šฉํ•˜์—ฌ i-- ๋ฅผ ํ•ด ์—ญ์ˆœ์œผ๋กœ ์ถœ๋ ฅ๋˜๊ฒŒ๋” ํ•œ๋‹ค.

 

๋‚ด๊ฐ€ ์ƒ๊ฐํ•œ ๋‹ต

#include <stdio.h>

int main()
{
	int i = 0;
	char str[100];
	printf("์˜๋‹จ์–ด๋ฅผ ์ž…๋ ฅํ•˜์‹œ์˜ค: ");
	scanf("%s", str);

	while (str[i] != '\0')
		i++;

	while (i != 0)
	{
		printf("%c", str[i]);
		i--;
	}
	return 0;
}

 

RESULT:

ILOVEYOU ์ž„์˜๋กœ ์ž…๋ ฅ

 

๋‹ต์•ˆ:

#include <stdio.h>

int main()
{
	char voca[100];
	int len = 0, i;
	char temp;

	printf("์˜๋‹จ์–ด ์ž…๋ ฅ: ");
	scanf("%s", voca);

	while (voca[len] != '\0') //์˜๋‹จ์–ด์˜ ๊ธธ์ด ๊ณ„์‚ฐ
		len++;

	for (i = 0; i < len / 2; i++) //์˜๋‹จ์–ด ๋’ค์ง‘๊ธฐ
	{
		temp = voca[i]; //์•ž์˜ ๋ฌธ์ž ์ž„์‹œ๋กœ ์ €์žฅ
		voca[i] = voca[(len - i) - 1]; //๋’ค์˜ ๋ฌธ์ž๋ฅผ ์•ž์œผ๋กœ
		voca[(len - i) - 1] = temp; //์•ž์˜ ๋ฌธ์ž๋ฅผ ๋’ค๋กœ
	}
	printf("๋’ค์ง‘ํžŒ ์˜๋‹จ์–ด: %s \n", voca);
	return 0;
}

 

 

์œ„ ์˜ˆ์ œ์—์„œ ๋ณด์ธ ์˜๋‹จ์–ด๋ฅผ ๋’ค์ง‘๋Š” ์›๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

 

1๋‹จ๊ณ„: ๋งจ ์•ž์˜ ๋ฌธ์ž์™€ ๋งจ ๋’ค์˜ ๋ฌธ์ž๋ฅผ ๋ฐ”๊พผ๋‹ค.

2๋‹จ๊ณ„: ์•ž์—์„œ ๋‘ ๋ฒˆ์งธ ๋ฌธ์ž์™€ ๋’ค์—์„œ ๋‘๋ฒˆ์งธ ๋ฌธ์ž๋ฅผ ๋ฐ”๊พผ๋‹ค. 

 

โœ” ๋ณด์ถฉํ•  ๋ถ€๋ถ„ 

1. ๋‹จ์–ด๋ฅผ ๋’ค์ง‘๋Š” ์ƒˆ๋กœ์šด ๋ฐฉ์•ˆ์„ ์ตํ˜€๋‘๋Š”๊ฒŒ ์ข‹๊ฒ ๋‹ค.

 

 

 


 

๋Œ“๊ธ€
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
TAG
more
ยซ   2025/04   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
๊ธ€ ๋ณด๊ด€ํ•จ