2 qq 29470155 qq_29470155 于 2016.09.10 19:55 提问

C语言中scanf后面定义数组编译不通过

C语言中scanf后面定义数组编译不通过图片说明

数组放上面就编译通过了 ,希望有人可以指导图片说明

4个回答

caozhy
caozhy   Ds   Rxr 2016.09.10 23:43
已采纳

c语言和c++不同,c要求把所有变量的定义放在函数的开头。因为你的后缀是.c,所以必须符合c语言的语法。你如果将后缀修改为cpp就可以按照(1)的方式写了。

ganyao939543405
ganyao939543405   2016.09.11 10:45

有些编译器遵循标准变量的定义必须放在域的前面

huangzhengdoc
huangzhengdoc   2016.09.11 12:59

文件名要是cpp结尾啊大哥

qq_32839507
qq_32839507   2016.09.10 20:56

程序执行必须在初始化之后,数组定义属于初始化,是将内存画出区域只给对应变量应用,程序执行中定义回出现混乱,所以编译器只允许在程序前面定义变量~~

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
c语言中,scanf里面要是数组要不要加&?
其实你明白原理就觉得很简单了。  首先,你要知道scanf传入的必须是指针,也就是地址。 比如int  a, 就要写成&a。 但是如果是数组,数组符号表示的就是数组的首地址(更准确的说,数组本身表示的是数组首元素的地址)。 int a[10];a就表示a[0]的地址;那a[3]的地址呢? 可以这样,&a[3]; 这就是加&的数组,如果不加呢
[C]c语言中,scanf里面要是数组要不要加&?
先上一段代码给大家看下#include<stdio.h> int main(){ int a[100]; int n,i; scanf("%d",&n);//输入个数 for(i=0;i<n;i++)scanf("%d",&a[i]);//这里也可以用 scanf("%d",a+i); for(i=n-1;i>0;i--)printf("%d ",a[i]); printf("%d\n",a[i])
关于C语言里getchar和scanf的思考
今天在做《C primer plus》的课后习题的时候,有这样一道题: 编写一个程序读入一行输入,然后反向打印该行。 您可以把输入存储在一个char数组中;假定该行不超过255个字符。 回忆一下,您可以使用具有%c说明符的scanf()从输入中一次读入一个字符, 而且当您按下回车键时会产生换行字符(\n)。 按照题目要求 我编写了这样一段代码: /*编写一个程序读入一行输入,然后反向打
在C语言中为什么scanf输入语句,要在变量名前加&呢?
首先在C语言中,输入变量的语法是:scanf("格式控制","变量地址") 可以看出,第二个的格式为变量地址。 在C语言中,变量在定义之后,就会在计算机内存中非配一块空间给这个变量,该空间在内存中的地址称为变量的地址。 为了得到变量的地址,需要在变量前加一个&(称为取地址运算符),也就是“&变量名”的写法。 补充:常见数据类型变量的scanf格式符 数据类型 格
C语言中的scanf的使用
感谢大家分享,今天在查阅了一些资料之后,终于直观的搞懂了C语言中的scanf的工作机制,以及经常遇到的各种奇葩问题。 scanf的工作机制 了解其工作机制,才能知晓其外表下的内在原因,总是有道理的。 scanf()函数的工作过程可以简单描述为如下过程: 只有当输入回车键的时候,scanf()才开始工作。 文字描述为: 为了提高存储器访问效率,操作系统的缓冲区管理机制,键盘输入的
C语言中scanf()的用法
本文章由作者收集来自互联网(天涯论坛)       scanf 原型:      # include   int scanf( const char *format, ... );       函数 scanf() 是从标准输入流 stdin 中读内容的通用子程序,可以读入全部固有类型的数据并自动转换成机内形式。scanf() 是 printf() 的补函数。       在 C9
C语言中数组的定义和使用
数组的定义与使用 一、1.一维数组的定义: 类型说明符 数组名[常量表达式];    注意:常量表达式包括常量与符号常量,不能包含变量。 2.一维数组的引用: 数组名[下标]; 3.一维数组的初始化: a.在定义数组时对数组元素赋以初值; b.可以只给一部分元素赋值; c.想使一个数组中全部元素值为0,可以写成:a[10]={0};
C语言scanf()和gets()及printf()和puts()的区别
一、scanf()和gets() 1.scanf() 所在头文件:stdio.h 语法:scanf(“格式控制字符串”,变量地址列表); 接受字符串时:scanf(“%s”,字符数组名或指针); 2.gets() 所在头文件:stdio.h 语法:gets(字符数组名或指针); 两者在接受字符串时: 1.不同点: scanf不能接受空格、制表符Tab、回车等; 而gets能够
C语言中scanf被跳过-求大神解决
这段程序在vc++6.0中编译组建都没有问题,可是运行后发现里面有一段代码被跳过了,如何解决? # include int main(void) { double number1, number2; char operation; char answer; start: printf("\nEnter the calculation\n"); scanf("%lf %c
C语言中scanf()的用法!
好文章转自:http://blog.tianya.cn/blogger/post_show.asp?BlogID=287129&PostID=3668453 scanf详解   scanf 原型:       # include    int scanf( const char *format, ... );        函数 scanf() 是从标准输入流 stdin 中读内容的