clwn.net
当前位置:首页 >> C语言 怎么把指针的值 赋给另一个数组 >>

C语言 怎么把指针的值 赋给另一个数组

1. 不能把数组的首地址赋给另一个数组.因为数组名是常量指针类型,初始化之后是不能够被修改的.2. 有两种办法实现类似功能,一种是创建指针变量,把地址直接赋值指针变量:例如 int a[100]; int *b=a; 第二种就是直接用循环一一复制每个元素.例如 for(i=0;i

错误的,不能用赋值语句将一个字符串常量直接给一个字符数组赋值.chars[20];charss[]="hello";s=ss;错误原因是:是您不能使用赋值语句将一个字符数组直接赋值给一个字符串数组,也就是说,必须使用strcpy()函数来实现一个字符串的

同学,你知道如何循环么?首先看你如何赋值了 A[i][j]=B[j][i] 然后循环i ,j就可以了,你首先要了解矩阵的旋转,在线形代数里学过的 然后你限定好i,j的范围,循环就可以了 追加分吧,同学

C语言规定,不能用赋值语句将一个字符串常量或字符数组直接赋值给一个字符数组.要想实现赋值的功能,只能用strcpy()来实现.#include"string.h"main(){ char st1[15],st2[]="C Language"; strcpy(st1,st2); puts(st1);printf("\n");}

第一个问题,用for循环吧第一个数组的值 给第二个, 第二个问题,可以,完全可以,第一个矩阵刚好是第二个的转制矩阵,当然可以了.

其实两个代码都有问题,代码中的b[5]={'a','b','c','d','e'};只是个字符型数组,因为最后没有'\0',所以在最后用printf当字符串(%s)输出时会在abcde后输出乱码.除了这一点以外,第二个代码的p=&b;错误,所以要报错.因为p是char *型指针,刚好与a匹配,用p=b;才正确.第一个代码中的char (*a)[5]=NULL;声明了a是指向有5个char型元素的一维数组的指针,与&b匹配,所以用a=&b;正确.顺便说一句,一维数组b[5]中b是第一个元素'a'的指针,&b是一维数组abcde的指针,显然它们的值相等,但意义不同:b+1指向了'b',而&b+1就指到'e'后面去了……

ch1 = "aabbcc"; ch2 = "ddee"; cpy(char* ch1, char* ch2)//如何实现这个方法,让ch2的值赋给ch1 这样是错误的,因为ch1指向的是一个常量字符串 ,可以修改指向 但是不能修改指向的内容

ptr=arr; 其实你这样赋值也是可以的,是没有问题的. 因为arr是二维数组的数组名,它(arr)本身就代表这个二维数组的第0行的地址. 问题关键不是出现在这里,而是在你程序的while循环语句中 while(scanf("%f", &ptr+i)&&i!=7) i++; 你这

数组声明的时候就要指定大小的 可以用memcpy,对于字符串,也可以用strcpy或strncpy(需要包含string.h) 比如:char *p="abc"; char a[10]; memcpy(a,p,sizeof(a)); 或者 strcpy(a,p); 或者 strncpy(a,p,sizeof(a));/* 比上面的strcpy安全 */ PS:关于sizeof,取数组的时候是数组的大小,指针的话,32位机器,会是4,所以字符串指针不用sizeof取长度,用strlen();

你的数组不是从p[0]开始的么?!p[1]就已经是数组p中的第二个元素的值了*(p+1)的话也可以

网站首页 | 网站地图
All rights reserved Powered by www.clwn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com