不然仅仅是指针数组,指针本身没有指向任何地址,是没有存储空间的
代码如下
#include <stdioh>
#include <stdlibh>
#define N 3
int main(void)
{
char a[N];
int i;
for(i = 0; i < N; ++i) {
a[i] = (char)malloc(20); // 每个字符串20个字节
gets(a[i]); // 读取字符串
}
for(i = 0; i < N; ++i) {
puts(a[i]); // 输出
free(a[i]); // 释放内存
}
return 0;
}
测试无误
有问题继续是想用键盘自己输入一个的,就好象上面String类型一样输入方式。但我不会怎样输入。麻烦了。。 回答: 我好像不知道能直接输入char类型哦,可以输入string再转成char啊,charAt(); 追问: 怎么样转化呢?能详细D写出来给我吗?我不会。。。。 回答: charAt(index);String类的这个函数可以取出index下标位置的字符,这些可以在api里面查到了,,应该自己学着找资料,这些都是最基本的东西,,注意下学习的方法,祝你早点学成,希望对你有帮助 小小白 的感言: 呵呵。刚学没多久。谢谢了。虽然还是不怎样明白,但也有个大概的方向了。谢谢。java中实现用键盘读入一个字符串后赋值给字符串变量可以使用Scanner来获取键盘输入的字符串,并声明一个字符串变量来存储键盘输入的字符串。示例代码如下:
1
2
3
4
5
6
7
8
9
public class ScannerDemo {
public static void main(String[] args) {
Scanner scan = new Scanner(Systemin);//创建Scanner对象
Systemoutprintln("请输入字符串:");
String str = scannext();//获取键盘输入的字符串并复制给变量
Systemoutprintln("输入的字符串为"+str);
}
}
Scanner类主要用来获取键盘输入的信息。你调用第一个scanf()时,输入了三个值和一个换行,那三个值分别赋给了 num_1,op,num_2,调用第二个scanf()时,直接把换行给了Next,你在第二个scanf()前面加一个getchar()应该就可以输入了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)