c语言整形数组如果输入字符常量得用gets,但会出现意想不到的结果.

分享一下个人的日常报错(1)
给大家借鉴借鉴;
给一个整形数组输入字符常量

#include
int main()
{	
	int str[100];// int str[100] = "ABCDE";会报错因为整形数组不能直接赋值字符变量
	gets(str);
	printf("%s",str);                  
	return 0; 
} 

c语言整形数组如果输入字符常量得用gets,但会出现意想不到的结果._第1张图片
如果在整形数组里放入了字符型变量,那么会出现意料之外的错误

#include 
#include 

int main()
 {
	int i,str[100];//str---ABCDE
	char str1[100] = "ABCDE";//字符数组可以在定义时把字符变量赋值给该数组;
	gets(str);
	printf("%s\n",str);
	for (i = 0;i<5;i++)
		{
			printf("%c : %d",str1[i],str1[i]);//正常打印
			printf("\n");
		}
	printf("-----\n");
	for (i = 0;i<5;i++)
		{
			printf("%c : %d",str[i],str[i]);//会打印出意料之外的情况;
			printf("\n");
		}
	return 0;
}

c语言整形数组如果输入字符常量得用gets,但会出现意想不到的结果._第2张图片

所以说我们在定义数组的时候要按需求定义,整型数组存放整形常量;

你可能感兴趣的:(c语言)