求教大侠:怎么输入一组字符串?

各位大侠,小弟定义了一个char型指针数组,想用这个char型指针数组存一组字符串。可字符串输入总是出错:

代码如下:

#include

#include

#include

#include "string.h"

#define P printf

#define S scanf

#define G getch();

#define R return(0);

int main(void)

{

int i,n=6;

char* str[6];  //定义一个char型指针数组,用于存6个字符串,如6个国家的英文名字

P("Input 6 country names:\n");

for (i=0;i

S("%s",&str[i]);//输入6个国家名,如:Canada Australia China Italy Germany France

//悲剧!!!出错! 去掉& 也不行。

for (i=0;i

{

P("%s \n",str[i]);//输出刚输入的6个国家名

}

G

R

}

哪位大侠如果不嫌烦,干掉上面那个问题后,能否告诉小弟,有木有办法实现:不定义数组长度,为所欲为地想输入多少字符串就输入多少字符串?不胜感激!!!小弟技术弱,凡帮小弟的,小弟下次去庙里拜佛时一定会给你祈福!

------解决思路----------------------

都学c++的人了,还用c语言的东西。跳不出这种思维,下面的代码自己试一下。

#include

#include

#include

#include

using namespace std;

int main(void)

{

int i,n=6;

string str[6];  //定义一个char型指针数组,用于存6个字符串,如6个国家的英文名字

cout<

for (i=0;i

cin>>str[i];

for (i=0;i

{

cout<

}

cin>>str[0];

return 0;

}

------解决思路----------------------

你这样的宏定义,我也是第一次见到。。

不过你的问题很简单:

char* str[6];

这里面有 这里定义了指针,但是没有为指针分配空间。

你写成char str[6][100];就好了

------解决思路----------------------

引用:你这样的宏定义,我也是第一次见到。。

不过你的问题很简单:

char* str[6];

这里面有 这里定义了指针,但是没有为指针分配空间。

你写成char str[6][100];就好了

正解。

------解决思路----------------------

//写出这样的代码只是说明你基础有问题。

2楼已经说出原因了,

char* str[6]; 你定义的是6个指针变量,你根本没有分配内存,可以说6个指针变量都是野指针;

S("%s",&str[i]);//这句就是问题关键,str[i]只是占用一个指针变量的内存,现在不指向任何内存,你让str[i]用什么接受你输入的字符串。

------解决思路----------------------

/*************************************************************************

> File Name: string_vector.cpp

> Author: Jukay

> Mail: hellojukay@gmail.com

> Created Time: 2014年10月30日 星期四 17时32分03秒

************************************************************************/

#include

#include

#include

using namespace std;

int main()

{

vector v;

string s;

for(int i=0; i

{

cin >> s;

v.push_back(s);

}

for(auto a : v)

cout <

return 0;

}

不知道你学了C++ 没有啊

------解决思路----------------------

引用:Quote: 引用:你这样的宏定义,我也是第一次见到。。

不过你的问题很简单:

char* str[6];

这里面有 这里定义了指针,但是没有为指针分配空间。

你写成char str[6][100];就好了

正解。

+1

------解决思路----------------------

引用:Quote: 引用:都学c++的人了,还用c语言的东西。跳不出这种思维,下面的代码自己试一下。

#include

#include

#include

#include

using namespace std;

int main(void)

{

int i,n=6;

string str[6];  //定义一个char型指针数组,用于存6个字符串,如6个国家的英文名字

cout<

for (i=0;i

cin>>str[i];

for (i=0;i

{

cout<

}

cin>>str[0];

return 0;

}弱弱地问一句:最后那个 cin>>str[0]; 是什么作用?

呵呵,相当于getchar()

暂时停一下给你看下结果。

------解决思路----------------------

引用不定义数组长度,为所欲为地想输入多少字符串就输入多少字符串?内存和硬盘都是有限的,为所欲为, 想多了。

------解决思路----------------------

引用:如果你想实现,输入任意个数的字符串,则可以采用队列:

typedef struct Node

{

pNode next;

char str[100];

}Node,*pNode;

然后每添加一个字符串,就生成一个结点,为其动态的为分配堆空间。然后再把这个结点接到队尾。

你如果不太了解这个的话,建议还是看看数据结构相关的书,这是比较基础的用法。

不好意思,很久没用c了,这里结构体定义有错。

typedef struct Node

{

char str[100];

struct Node* next;

}Node,*pNode;

------解决思路----------------------

#include "iostream"

#include "string"

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

string str;

cin>>str;

cout<

system("pause");

return 0;

}

如何输入多组字符串c语言,求教大侠:如何输入一组字符串相关推荐

  1. c语言怎么用scanf输入字母,c语言输入字符串(c语言怎么用scanf输入字符串)

    但是实际操作发现我的字符串无论输入的多长多短,都是输入的什么输出的就. 在C语言中,输入输出字符串有以下两种方式:1 用scanf/printf输入输出.scanf/printf是C语言的格式化输入输 ...

  2. c语言输入带空格的数字组,【C语言】输入带空格的数字字符串

    [C语言]输入带空格的数字字符串 大家好,我是Lukas,是一名CS专业的学生,学习C语言的时间也不算短了,感觉CSDN网站帮助了我很多,帮我找到了很多解决问题的思路,但一些大神的代码和算法经常会让人 ...

  3. c语言用scanf输入指针字符串,c语言如何用scanf输入字符串

    在C语言中,可以使用"scanf("格式控制字符串",变量内存地址)"语句输入字符串.scanf()函数的第一个参数是格式字符串,它指定了输入的格式,并按照格式 ...

  4. c语言如何用循环输入字符串,C语言使用scanf连续输入字符串出现的问题

    #include int main() { char a,b; scanf("%c",&a): scanf("%c",&b); printf(& ...

  5. C/C++输入未知组数据的方法,多行输入介绍

    在使用C语言/C++在各大OJ平台上做题时,可能会遇到需要输入未知个数/行数的数据的情况,下面就来看一看如何进行输入吧. 一.未知个数值变量的输入 一般用于输入未知个相同类型(int/float/do ...

  6. c语言以空格分割字符串_C语言: 利用sscanf() 函数分割字符串

    头文件:#include sscanf()函数用于从字符串中读取指定格式的数据,其原型如下: int sscanf (char *str, char * format [, argument, ... ...

  7. android 数组赋值字符串_c语言中的字符数组与字符串

    1.字符数组的定义与初始化 字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素. char str[10]={ 'I',' ','a','m',' ','h','a','p','p','y ...

  8. c语言如何让字符串变成空字符,C语言初始化字符串 c语言 如何将已赋值的字符串初始化为空?...

    C语言数组字符串初始化问题恋爱语录:能牵手的时候,请别肩并肩,能拥抱的时候,请别手牵手,能相爱的时候,请别说分开:拥有了爱情,请别去碰暧昧 字符数组的定义与初始化字符数组的初始化,最容易理解的方式就是 ...

  9. c语言不用strcpy复制字符串,c语言程序(二十三)——字符串复制(不使用strcpy()函数)...

    //有一字符串,编写一函数,将此字符串从第m个字符开始的全部字符复制成另一个字符串 // #include #include int main() { char string1[100]; char ...

  10. c语言中常用的输入输出函数有哪些,C语言中常用的输入和输出函数

    C语言中常用的输入和输出函数 2020年03月11日 | 萬仟网IT编程 | 我要评论 1. scanf()函数 (Scan Format) + 函数原型: + 函数作用:从标准输入流 stdin ( ...

最新文章

  1. 《Adobe Photoshop CC经典教程(彩色版)》—第4课4.7节添加调整图层
  2. 【转】获取命名空间、类名、方法名
  3. warning:deprecated conversion from string constant to 'char *' 解决方案
  4. 因限制游戏驿站等WSB概念股交易 Robinhood遭散户集体诉讼
  5. Java学习资料-java基本数据类型
  6. glPushMatrix()和glPopMatrix()以及glLoadIdentity()的理解
  7. 2014蓝桥杯C++A:猜年龄;扑克序列(全排列)
  8. 【SPSS】包含多元线性回归、聚类分析、判别分析、主成分、相关系数、非参数秩检验的spss使用方法,含有相关例题,可以解决“数学建模”中数据建模的大部分问题
  9. python爬虫实例(百度图片、网站图片)
  10. 中国天气网城市代码爬取
  11. 编写一个第三方库(动态库和静态库)
  12. C# winform 魔兽MH全图制作教程(3):魔兽1.20E.1.24B.1.24E全图内存地址 转自breeze...
  13. 基于Vue.js的2048小游戏的设计与实现
  14. vivado使用方法(初级)
  15. 如何用15秒打动对方
  16. 【Keras+计算机视觉+Tensorflow】OCR文字识别实战(附源码和数据集 超详细必看)
  17. 申请著作权的流程有哪些
  18. 【C/C++服务器开发】socket网络编程函数接口详解
  19. 捕获海康威视IPCamera图像,转成OpenCV可以处理的图像(二)
  20. DXC Technology推出DXC Bionix™,以大规模提供自动化IT服务

热门文章

  1. c语言九宫格拼图程序,C语言简单游戏编程学习入门之九宫格拼图
  2. 【Vue】基础入门 —— 黑马程序员
  3. Godot实用代码1000例
  4. Linux部署SSM项目
  5. 计算机上word如何批量打印,Word2010怎样批量打印证书
  6. SPSS 安装后不可用 没有出现授权 不显示工具栏 桌面没有快捷图标
  7. zip命令 – 压缩文件
  8. magisk卸载内置软件_软件卸载工具的终极武器——Revo Uninstaller
  9. 微信小程序mpvue框架
  10. 485通信自动收发电路详解