永发信息网

怎样将字符串存入数组

答案:3  悬赏:30  手机版
解决时间 2021-03-16 01:17
  • 提问者网友:王者佥
  • 2021-03-15 19:57
如定义char *p="oxfe oxf2 ox09 ......"
再定义一个数组a[],语法上如何实现a[0]="oxfe",a[1]="oxf2",a[2]="ox09".................
实在是hold不住这个问题,同志们帮帮我,万分感谢!
最佳答案
  • 五星知识达人网友:白昼之月
  • 2021-03-15 21:29
其实可以,不过在你假设的前提下就不行……
首先:
char *p="oxfe ...."
没有为指针p分配空间所以无法往里面进行储存字符
其次:
a[0]="oxfe"其实是可以实现,但是一定要用string这个类来实现,因为只有string可以一个变量就代表一串字符,按照你的构想,具体实现如下:

#include
#include
#include
using namespace std;
int main()
{
char p[20]="oxfe oxf2 ox09";
string c[20];
int psize=strlen(p);
int n=0; //用以计数到底有多少个空格分开的字符串
int begin=0;
int end=0;
for(;end<=psize;)
{
if(p[end]==' ' || end==psize)
{
for(int i=begin;i c[n].append(1,p[i]);
++n;
begin=end+1;
++end;
}
else ++end;
}
for(int i=0;i cout< }
全部回答
  • 1楼网友:老鼠爱大米
  • 2021-03-15 23:29
#include string s(p); string a[]=s.split(" "); 应该够了
  • 2楼网友:从此江山别
  • 2021-03-15 22:58
您好,可以先全部读入,作为字符串str,然后将字符从字符传中取出,一个个的赋值给数组chs[].如下程序所示: import java.util.scanner; public class strin { public static void main(string[] args) { char[] chs = new char[100]; string str; scanner sc = new scanner(system.in); system.out.print("请输入字符串:"); str = sc.nextline(); system.out.println(); for (int i = 0; i < str.length(); i ++) { chs[i] = str.charat(i); system.out.print(chs[i] + " "); } } }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯