字符数组,初始化,修改,结束测试 逆置 BGK

//GCC 编译方式: C:\MinGW\project>gcc -std=c99 main.c
//编码环境 GBK

#include <stdio.h>
int main(){

int array[3][4]={{0,1,2,3},{4,5,6,7},{8,9,10,11}};
     //遍历二维数组,并打印
	 for(int i=0;i< 3;i++){
		for(int j=0;j<4;j++){
			printf("array[%d][%d]=%d\n",i,j,array[i][j]);
		}
	}
/* 
输出 :
array[0][0]=0
array[0][1]=1
array[0][2]=2
array[0][3]=3
array[1][0]=4
array[1][1]=5
array[1][2]=6
array[1][3]=7
array[2][0]=8
array[2][1]=9
array[2][2]=10
array[2][3]=11 
*/

//字符串的初始化
//char str[100] ; //定义一个字符串
//char str[100] = {‘h‘,‘e‘,‘l‘,‘l‘,‘o‘}; //定义一个字符串,并初始化
char str[100] = "hello"; //多种初始化
     str[0] = ‘H‘;
     str[1] = ‘e‘;
     str[2] = ‘\0‘;       //遇到\0,字符串就结束了
     str[3] = ‘l‘;
     str[4] = ‘o‘;
	 printf("%s\n",str); //字符串就是以\0结尾的数组
	 //输出 He
	 printf("str =%d\n",sizeof(str)); 
	 //输出 str =100
	 
	 //打印字符数组大小
	 char str1[] = "Hello";
	 printf("str1 =%d\n",sizeof(str1)); 
	 // 输出 str1 =6
	 
	 //固定字符数组大小,研究字符串初始化后是什么东西
	 char str2[10] = "Hello";
	 printf("str2 =%d\n",sizeof(str2)); 
	 //输出 str2 =10
     printf("str2[4]  char=>%c HEX=>%x\n",str[4],str[4]);
     printf("str2[5]  char=>%c HEX=>%x\n",str[5],str[5]);
     printf("str2[6]  char=>%c HEX=>%x\n",str[6],str[6]);
     printf("str2[7]  char=>%c HEX=>%x\n",str[7],str[7]);
	 //输出:
	 // str2[4]  char=>o HEX=>6f
	 // str2[5]  char=>  HEX=>0 
	 // str2[6]  char=>  HEX=>0
	 // str2[7]  char=>  HEX=>0
	 
	 //修改字符串内容
	 char str3[99]="Hello World!";
	 printf("%s",str3);
	 printf(str3);
	 str3[4]=‘A‘;
	 printf(str3);
	 //输出 Hello World!Hello World!HellA World!
    
	printf("\n数组逆置:\n");
	int  low=0;
    int high=11; //注意上面的那个字符,11位之后就是\0了
    int tmp_var;
    while(low<high){
        tmp_var    =str3[low];
        str3[low]  =str3[high];
        str3[high]   =tmp_var;
        low++;
        high--;
	 }
	 printf(str3);
     //输出:
	 //数组逆置:
     //!dlroW AlleH

	 char str4[100] ="你好世界";
	 printf("\n%s\n",str4);
	 for(int i=0;i<13;i++){
		 printf("%x\n",str4[i]);
	 }

	 /*
	 GBK编码环境:
	你好世界
	ffffffc4
	ffffffe3
	ffffffba
	ffffffc3
	ffffffca
	ffffffc0
	ffffffbd
	ffffffe7
	0
	0
	0
	0
	0
你C4E3
好BAC3
 20
世CAC0
界BDE7

	 */
	 //用GBK编码显示 汉字
	char str5[100];
    str5[0]=0xc4;
    str5[1]=0xe3;
    str5[2]=0;
    printf(str5);
    //输出 你
	 
}
时间: 2024-10-11 06:19:41

字符数组,初始化,修改,结束测试 逆置 BGK的相关文章

创建数组,用函数分别实现初始化、清空和逆置。自己设计函数的参数,返回值

创建一个数组, 实现函数init()初始化数组. 实现empty()清空数组. 实现reverse()函数完成数组元素的逆置. 要求:自己设计函数的参数,返回值.*/ #include<stdio.h> #include<cstdlib> void init(int* arr, int length)//没有为arr开辟空间  可以不初始化. { int i = 0; for (i = 0; i<length; i++) { arr[i] = i;// scanf_s(&qu

string str将str转字符数组以及字符数组初始化

c和指针(<pointers on c>) 8.1.11 一个字符串,如"hello",一般为字符串常量,可以用它对字符指针赋值,或初始化,相当于把这个字符串常量的首地址赋给这个指针,如: char *p = "hello"; 或者 char *p; p="hello"; C++STL之string 字符串常量不能write能read 但是,当用"hello"给字符数组作初始化时,"hello"

字符数组初始化与赋值

char a[10];怎么给这个数组赋值呢?1.定义的时候直接用字符串赋值char a[10]="hello";注意:不能先定义再给它赋值,如char a[10]; a[10]="hello";这样是错误的!2.对数组中字符逐个赋值char a[10]={'h','e','l','l','o'};3.利用strcpychar a[10]; strcpy(a, "hello"); 易错情况:1.char a[10]; a[10]="hel

C语言结构体数组内带字符数组初始化和赋值

1.首先定义结构体数组: typedef struct BleAndTspRmtCmd{ char terminal[3]; char note[3]; char rmtCmd[10]; char cmdPropt[24];}; BleAndTspRmtCmd为结构体名,可以通过这个结构体名定义其他结构体变量,struct BleAndTspRmtCmd variable: 或者定义结构体数组变量,struct BleAndTspRmtCmd variable[]: 2.或者定义全局结构体变量,

关于字符指针和字符数组初始化的问题

int main() { char a[6]="hello"; char b[6]="hello"; char* c="hello"; char* d="hello"; //*(c+1)='!';出错 if(a==b) cout<<"1"<<endl; if(c==d) cout<<"2"<<endl; return 0; } 该题输出的是

用函数实现数组的初始化、逆置和清空

------------------------------------------------------------------------------------------------------ 函数,也叫"方法",每个函数可以看作不同的模块,可以用来实现不同的功能,什么地方需要实现这个功能,调用即可:大大提高了程序的复用性,节省人力和时间. -------------------------------------------------------------------

c语言字符数组的初始化问题

1.字符数组的定义与初始化 字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素. char str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y'}; 即把10个字符分别赋给str[0]到str[9]10个元素 如果花括号中提供的字符个数大于数组长度,则按语法错误处理: 若小于数组 长度,则只将这些字符数组中前面那些元素,其余的元素自动定为空字符(即 '\0' ). 2.字符数组与字符串 在c 语言中,将字符串作为字符数组来处理.(c++中

C语言字符数组的定义与初始化

C 语言字符数组的定义与初始化 1.字符数组的定义与初始化字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素.char str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y'};即把10个字符分别赋给str[0]到str[9]10个元素如果花括号中提供的字符个数大于数组长度,则按语法错误处理:若小于数组长度,则只将这些字符数组中前面那些元素,其余的元素自动定为空字符(即'\0' ).2.字符数组与字符串在c 语言中,将字符串作为字符数组来处

c语言字符数组与字符串的使用详解

转自:http://www.jb51.net/article/37456.htm 1.字符数组的定义与初始化字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素.char str[10]={ 'I',' ','a','m',' ',‘h','a','p','p','y'};即把10个字符分别赋给str[0]到str[9]10个元素如果花括号中提供的字符个数大于数组长度,则按语法错误处理:若小于数组长度,则只将这些字符数组中前面那些元素,其余的元素自动定为空字符(即 '\0' ). 2.