如何输入多组字符串c语言,求教大侠:如何输入一组字符串
求教大侠:怎么输入一组字符串?
各位大侠,小弟定义了一个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语言,求教大侠:如何输入一组字符串相关推荐
- c语言怎么用scanf输入字母,c语言输入字符串(c语言怎么用scanf输入字符串)
但是实际操作发现我的字符串无论输入的多长多短,都是输入的什么输出的就. 在C语言中,输入输出字符串有以下两种方式:1 用scanf/printf输入输出.scanf/printf是C语言的格式化输入输 ...
- c语言输入带空格的数字组,【C语言】输入带空格的数字字符串
[C语言]输入带空格的数字字符串 大家好,我是Lukas,是一名CS专业的学生,学习C语言的时间也不算短了,感觉CSDN网站帮助了我很多,帮我找到了很多解决问题的思路,但一些大神的代码和算法经常会让人 ...
- c语言用scanf输入指针字符串,c语言如何用scanf输入字符串
在C语言中,可以使用"scanf("格式控制字符串",变量内存地址)"语句输入字符串.scanf()函数的第一个参数是格式字符串,它指定了输入的格式,并按照格式 ...
- c语言如何用循环输入字符串,C语言使用scanf连续输入字符串出现的问题
#include int main() { char a,b; scanf("%c",&a): scanf("%c",&b); printf(& ...
- C/C++输入未知组数据的方法,多行输入介绍
在使用C语言/C++在各大OJ平台上做题时,可能会遇到需要输入未知个数/行数的数据的情况,下面就来看一看如何进行输入吧. 一.未知个数值变量的输入 一般用于输入未知个相同类型(int/float/do ...
- c语言以空格分割字符串_C语言: 利用sscanf() 函数分割字符串
头文件:#include sscanf()函数用于从字符串中读取指定格式的数据,其原型如下: int sscanf (char *str, char * format [, argument, ... ...
- android 数组赋值字符串_c语言中的字符数组与字符串
1.字符数组的定义与初始化 字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素. char str[10]={ 'I',' ','a','m',' ','h','a','p','p','y ...
- c语言如何让字符串变成空字符,C语言初始化字符串 c语言 如何将已赋值的字符串初始化为空?...
C语言数组字符串初始化问题恋爱语录:能牵手的时候,请别肩并肩,能拥抱的时候,请别手牵手,能相爱的时候,请别说分开:拥有了爱情,请别去碰暧昧 字符数组的定义与初始化字符数组的初始化,最容易理解的方式就是 ...
- c语言不用strcpy复制字符串,c语言程序(二十三)——字符串复制(不使用strcpy()函数)...
//有一字符串,编写一函数,将此字符串从第m个字符开始的全部字符复制成另一个字符串 // #include #include int main() { char string1[100]; char ...
- c语言中常用的输入输出函数有哪些,C语言中常用的输入和输出函数
C语言中常用的输入和输出函数 2020年03月11日 | 萬仟网IT编程 | 我要评论 1. scanf()函数 (Scan Format) + 函数原型: + 函数作用:从标准输入流 stdin ( ...
最新文章
- 《Adobe Photoshop CC经典教程(彩色版)》—第4课4.7节添加调整图层
- 【转】获取命名空间、类名、方法名
- warning:deprecated conversion from string constant to 'char *' 解决方案
- 因限制游戏驿站等WSB概念股交易 Robinhood遭散户集体诉讼
- Java学习资料-java基本数据类型
- glPushMatrix()和glPopMatrix()以及glLoadIdentity()的理解
- 2014蓝桥杯C++A:猜年龄;扑克序列(全排列)
- 【SPSS】包含多元线性回归、聚类分析、判别分析、主成分、相关系数、非参数秩检验的spss使用方法,含有相关例题,可以解决“数学建模”中数据建模的大部分问题
- python爬虫实例(百度图片、网站图片)
- 中国天气网城市代码爬取
- 编写一个第三方库(动态库和静态库)
- C# winform 魔兽MH全图制作教程(3):魔兽1.20E.1.24B.1.24E全图内存地址 转自breeze...
- 基于Vue.js的2048小游戏的设计与实现
- vivado使用方法(初级)
- 如何用15秒打动对方
- 【Keras+计算机视觉+Tensorflow】OCR文字识别实战(附源码和数据集 超详细必看)
- 申请著作权的流程有哪些
- 【C/C++服务器开发】socket网络编程函数接口详解
- 捕获海康威视IPCamera图像,转成OpenCV可以处理的图像(二)
- DXC Technology推出DXC Bionix™,以大规模提供自动化IT服务