如定义char *p="oxfe oxf2 ox09 ......"
再定义一个数组a[],语法上如何实现a[0]="oxfe",a[1]="oxf2",a[2]="ox09".................
实在是hold不住这个问题,同志们帮帮我,万分感谢!
怎样将字符串存入数组
答案:3 悬赏:30 手机版
解决时间 2021-03-16 01:17
- 提问者网友:王者佥
- 2021-03-15 19:57
最佳答案
- 五星知识达人网友:白昼之月
- 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<
}
首先:
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
++n;
begin=end+1;
++end;
}
else ++end;
}
for(int i=0;i
全部回答
- 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] + " ");
}
}
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯