har c = (char)System.in.read();
来源:学生作业帮助网 编辑:作业帮 时间:2024/05/14 18:36:49
代码不全啊再问:#includevoidfun(char*a,char*b){while(*a=='*')a++;while(*b=*a){b++;a++;}main(){char*s="****a*
/*那是因为在单引号里未键入空格,真是的,修改如下*/#includeintmain(void){chardiamond[][5]={{'','','*'},{'','*','','*'},{'*',
a[0]='A'a[1]='B'a[2]='C'a[3]='\0'a[4]='e'a[5]='f'b数组只有4个字节,只覆盖了a的前四个字节
strcpy(a,b);后a[]的内容变b[]的内容:"ganme"printf("%c",a[3]);按%c格式,打印一个字符,这个字符是a[]里的下标为3的字符,C语言,下标从0起计,所以a[3]
;q++;}字符串结尾是'\0'*q!='\0'--当字符串未到结尾时,不断循环执行--该字符的ASCII值增加1,指针值增加1,即指到下一个字符.main();funl(a);printf("%s"
40,s1和s2指向了同一块内存区域,第三行*s1=15;*s2=20;m=*s1+*s2;对*s1和*s2赋值是对同一块内存赋值,所以第一次赋值15第二次赋值20结果是20,两个20相加就是40.结
不可以可以每一行输出如输出c[0]再问:charc[][6]={{"*"},{"**"},{"**"},{"**"},{"*"}};inti,j;for(i=0;i
char*s1="abc"是定义一个char型指针,其指向一个字符串“abc”,s1中存放的是指向字符串的指针.&s1是s1这个变量的地址
a[5]是表示'\0',但是'\0'对应的ascll码是0,在ascll码表中前32号(0~31)ascll码代表的字符是控制字符(如换行符就在这范围内),不属于可打印字符,因此即使a[5]打印出来是
感觉是abc123应该是swap不起作用找个环境试一下就知道了
如果:输入:abcdef(回车)输出:defdef而不是楼上说的abcdef因为p=(char*)malloc(sizeof(char)*20);//为p创建堆内存q=p;//将p创建的堆内存赋值给q
这个程序是将字符串a和字符串b交叉存入字符串c中.如a="abc",b="12345";则c="a1b2c345"再问:恩,谢谢,可以帮我在后面写注释吗?有的地方我还是看不懂呀再答:fun(char*
1,char*a;*a="abc"是错误的,*a是字符,不是字符串.2,另外两句完全一样.虽然编译能通过,但是你这句本身就是错误的:字符串定义应该是constchar*a="abc";因为字符串储存在
输出结果是a函数返回*p也就是字母d-->point(p)但是问的是*p当函数返回值之后里面所有的东西都释放了p还是指向之前的字母a如果想得到字母d有2个办法1p+=3改成*p+=32printf("
,dchar*p=(char*)(&a+1);把a当成一个数据结构4个字节,所以p是在'd'后面的一个字节位置再问:*p=(char*)(&a+1)char*p=(char*)(&a+1);他们分别是
就是把数组a[0]赋值为'0'再问:‘0’是什么意思??再答:'0'是0的ASCII码值,'0'=10进制的48补充一点,一开始说得不对。chara[50]={'0'};会将第一个元素赋值为'0',其
//1程序有3个错误,改正如下:#includevoidfun(char*a,char*b)//C的参数传递为值传递,改变a的值不会反馈到实参.{\x05a=b;//少分号!}voidmain(){\
定义char类型二维数组.如果是chara[N][M],就可以看成N个M维数组.后面大括号里面{}的每一个元素是一个M维数组.chara[][3]就是N个3维数组.N空出来了,由后面大括号里面有多少个
因为char是有符号的,而b已经超出char的上限127,所以b在比较时被当作是-106.所以,a是大于b的,最后一条的(a
char*a[]={'a','b','c'};//a是一个数组,后面的{}是对数组的初始化队列.但这里也是不行的,因为数组的元素类型是char*,不能用char值进行初始化.char*a={'a','