社区
C语言
帖子详情
c语言中的数组问题和scanf问题
caofa0532
2012-08-28 08:54:43
1.数组。
不能定义a[],必须定义为a[n];才可以。
C语言不是可以定义a[]吗?在linux系统下不行吗?或者需要怎么样调整一下?
2.scanf问题。
如 scanf("%d \n", &n);则在运行的时候会让你输入两次数值才可以(实际上第一次输入的数值被赋给n,然后需要再次输入回车后,程序才继续),为什么?
谢谢!
...全文
452
8
打赏
收藏
c语言中的数组问题和scanf问题
1.数组。 不能定义a[],必须定义为a[n];才可以。 C语言不是可以定义a[]吗?在linux系统下不行吗?或者需要怎么样调整一下? 2.scanf问题。 如 scanf("%d \n", &n);则在运行的时候会让你输入两次数值才可以(实际上第一次输入的数值被赋给n,然后需要再次输入回车后,程序才继续),为什么? 谢谢!
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wanglu343280746
2012-08-28
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
1
除了尚未普及的最新标准外,所有C/C++标准均要求数组在定义时确定大小
你可以用int a[] = { 3, 5 }这种较为方便的写法,编译器替你去数=后面有多少个元素,以此来确定数组大小
但无论如何,数组大小必须确定,这点没有任何商量的余地
2
我很想知道你为啥要在scanf函数里写\n。
你要求输入一个整数,然后还要求输入一个回车符?
[/Quote]
++
AnYidan
2012-08-28
打赏
举报
回复
好好看看语法
caofa0532
2012-08-28
打赏
举报
回复
ok 知道啊
谢谢!
caofa0532
2012-08-28
打赏
举报
回复
ok 知道啊
谢谢!
图灵狗
2012-08-28
打赏
举报
回复
1、不能定义a[],你想定义动态数组的话,可以用指针,调用malloc/free等函数来管理;
2、改为scanf("%d", &n)就可以了,不要加\n。
baichi4141
2012-08-28
打赏
举报
回复
1
除了尚未普及的最新标准外,所有C/C++标准均要求数组在定义时确定大小
你可以用int a[] = { 3, 5 }这种较为方便的写法,编译器替你去数=后面有多少个元素,以此来确定数组大小
但无论如何,数组大小必须确定,这点没有任何商量的余地
2
我很想知道你为啥要在scanf函数里写\n。
你要求输入一个整数,然后还要求输入一个回车符?
赵4老师
2012-08-28
打赏
举报
回复
关键是要理解“编译期”和“运行时”的区别。
“变量赋值”和“变量初始化”不是一回事!
“变量赋值”发生在运行期,其写法遵循赋值语法规定。
“变量初始化”发生在编译期,其写法遵循初始化列表语法规定。
天外淡云
2012-08-28
打赏
举报
回复
开始多看书才是王道!
c语言
中
的一些
问题
(
scanf
循环、三维
数组
做形参)
(1)关于多维
数组
做形参
数组
指针是指向
数组
的指针,是一个指针,其指向的类型是
数组
;定义方式为(*p)[][]
指针
数组
是元素为指针的
数组
,是一个
数组
,其
中
的元素为指针; 定义方式为 *p[][]
如果要将
数组
a[][]传递给函数fun(),这个函数的定义
中
形参需要这样定义 void fun(int a[][6] ) 调用的时候就可以直接使用fun(a)。 在二维
数组
传递的过程
中
,第一维的维
c语言
scanf
输入指针
数组
,求高人!关于指向字符数据的指针
数组
用
scanf
%s赋值以及printf %s输出的有关
问题
...
求高人!关于指向字符数据的指针
数组
用
scanf
%s赋值以及printf %s输出的
问题
#includevoidmain(){char*a[2];inti;for(i=0;i<2;i++)
scanf
("%s",a+i);//a不是a[i]的地址吗?这样输入的值不是给了a[i]吗?而a[i]应该是存地址才对呀for(i=0;i<2;i++)printf("%s\n",a+i...
【
C语言
】用指针和
数组
给
scanf
传参需要注意的
问题
scanf
函数是
C语言
标准库
中
的一种输入函数,用于从标准输入(通常是键盘)读取并格式化输入数据。它是stdio.h参数是一个格式字符串,它指定了期望输入的数据类型和格式。%d%f%s%c%u%x%X%o后面的参数是指向变量的指针,这些变量用于存储
scanf
读取的数据。
scanf
函数的返回值是成功读取的输入项的数量。如果输入不符合格式要求,或者遇到输入结束(EOF),
scanf
会返回一个小于预期的值。如果遇到错误,比如输入不符合预期的格式,
scanf
可能会更新输入缓冲区的状态,但不会读取任何数据,返回值将是。
C语言
scanf
_s输入字符串(
数组
)后敲回车后没有输出的
问题
解答
C语言
scanf
_s输入字符串(
数组
)后敲回车后没有输出的
问题
解答
c语言
中
怎么用
scanf
给二维
数组
赋值,关于VC++6.0无法用
scanf
()输入浮点值赋给二维
数组
的
问题
...
VC++6.0在编译时为了节省资源的占用,如果检测到你的整个代码里面没有需要用到浮点数据时,就不会加入浮点链接库,所以在遇到复杂的结构如二维
数组
的输入
中
,就会出现错误;VC++6.0只能向一维
数组
输入整型,浮点型值,向二维
数组
输入整型值;比如下面这段代码#includeint main(void){int r, c;float ar[2][3];for (r = 0; r < 2; r++)...
C语言
70,040
社区成员
243,245
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章