十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
在C语言中,字符串是以字符数组方式保存的,于是字符串数组可以用二维字符数组存储。
成都创新互联网络公司拥有10多年的成都网站开发建设经验,千余家客户的共同信赖。提供成都做网站、成都网站制作、网站开发、网站定制、买友情链接、建网站、网站搭建、成都响应式网站建设公司、网页设计师打造企业风格,提供周到的售前咨询和贴心的售后服务
输入时,每次输入字符串数组的一个元素(一行),根据需要,使用scanf或gets进行输入。
如:
char str[10][100]; //定义字符串数组,供10行,每行最多100个字节数据。
int i;
for(i = 0; i 10; i ++)
scanf("%s",str[i]);//输入10行字符串数据。
一.键盘:
scanf("a=%d
b=%d",a,b);
输入:a=4
b=3回车
注意输入时要注意与scanf中“”里的写法相匹配,有a=就一定输入
a=?,中间有空格,空格一定要照打
scanf("%f
%e",x,y);
输入:4.3
3e2回车
scanf("
%c
%c",c1,c2);
输入:
a
b回车
二.c++
c++写法与c完全不同,它用的是
cinabxyc1c2;
输入:4
3
4.3
3e2
a
b回车
或者中间的空格换成回车
用指针就可以了,如
定义有int a[5];
则这样定义函数:
int fun(int *p, int size)
{
//p为数组的首地址
//size为数组的大小
//传递进去后可以像操作a一样用下标操作p
//如p[0], p[4]...
}
传递参数给函数可以这样写:
fun(a, 5);
若是多维数组,则第一维大小不给出,只指定后面的维数大小,如:
定义有int a[5][2];
则这样定义函数:
int fun(int p[][2], int size)
{
//p为数组的首地址
//size为第一维的大小
//传递进去后可以像操作a一样用下标操作p
//如p[0][1], p[4][1]...
}
传递参数给函数可以这样写:
fun(a, 5);
n = scanf("%d",n);
这一句有问题
1. scanf 函数是有返回值的,它的返回值可以分成三种情况
1) 正整数,表示正确输入参数的个数。
例如执行 scanf(“%d %d”, a, b);
如果用户输入”3 4”,可以正确输入,返回2(正确输入了两个变量);
如果用户输入”3,4”,可以正确输入a,无法输入b,返回1(正确输入了一个变量)。
2) 0,表示用户的输入不匹配,无法正确输入任何值。如上例,用户如果输入”,3 4”,返回0。
3) EOF,这是在 stdio.h 里面定义的常量(通常值为-1),表示输入流已经结束。在Windows下,用户按下CTRL+Z(会看到一个^Z字符)再按下回车(可能需要重复2次),就表示输入结束;Linux/Unix下使用CTRL+D表示输入结束。
你这个输入一个返回值就是1,因此n也会一直等于一