执行语句“for(i=0;i<10;++i,++a)scanf("%d",a);”试图为int类型数组a[10]输入数据,是错误的。错误的原因

如题所述

a在这里是常量,不能++a,需要声明一个int *p;p=a;,然后++p,

具体改为如下int *p=a;

for(i=0;i<10;++i,++p)scanf("%d",p);

扩展资料

C++程序中最小的独立单位相当于一篇文章中的一个句子,句子是用句号结束的。语句一般是用分号结束的(复合语句是以右花括号结束的)。C++语句可以分为以下4种:声明语句、执行语句、空语句、复合语句。

所谓的可执行语句是:可以通过编译产生对应的汇编代码和机器码的语句。比如:括号、预处理语句(行首是#的如#include)、注释 等等。像赋值、逻辑运算、算术运算、分支、循环等,都可以转化成相应的汇编代码,他们都是可执行语句。

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-01-05
因为++a是错误的
数组名数一个常量,不能改变该值

楼上,修改后才是错误的本回答被提问者采纳
第2个回答  2011-01-05
a在这里是常量,不能++a,你需要声明一个int *p;p=a;,然后++p,具体改为如下
int *p=a;
for(i=0;i<10;++i,++p)scanf("%d",p);
第3个回答  2011-01-05
for(i=0;i<10;++i)
scanf("%d",&a[i]);
第4个回答  2011-01-05
for(i=0;i<10;i++)
scanf("%d",a[i]) ;

谁有四川省计算机C语言二级考试的真题或者模拟题?多给我几套最好了...
void f(int b[],int n,int flag) {int i,j,t;for(i=0;i for (j=i+1;j if(flag?b[i]>b[j]:b[i]}main(){int a[10]={5,4,3,2,1,6,7,8,9,10},i; f(&a[2],5,0); f(a,5,1); for(i=0;i<10;i++) printf(“%d,”a[i]);}程序运行后的输出结果是(B) A)1,2...

用scanf函数时是不是回车是结束输入,空格当做ASCII接收?那什么情况下...
scanf("%s",str); printf("%s",str); return 0; } 输入:I live you! 输出:I scanf()函数接收输入数据时,遇以下情况结束一个数据的输入:(不是结束该scanf函数,scanf函数仅在每一个数据域均有数据,并按回车后结束)。 ① 遇空格、“回车”、“跳格”键。 ② 遇宽度结束。 ③ 遇非法输入。 所以...

4、设计一个函数,当给定一个整数后,能得到该数的补码(应考虑该整数是正...
int a[N]={6, 3, 42, 23, 35, 71, 98, 67, 56, 38};int i, j, t;printf(“The array before sorted:”);for(i=0; i<N; i++)printf(“%4d”, a[i]);for(i=0; i<9; i++){for(j=i+1; j<10; j++){if(a[i]>a[j]){t=a[i];a[i]=a[j];a[j]=t;}}}for(i=...

C语言中用scanf输入双精度浮点数
scanf("%d", a + i);printf("您输入的数是:\\n");for(i = 0; i < n; i++)printf("%d ", a[i]);free(a); \/*释放内存*\/ return 0;}

漂亮裙子的漂亮是什么意思,急
for (int i = 0; i != NO_OF_STUDENTS; ++i) { printf("请依次输入第 %d 个学生的学号、姓名和四项成绩(以空格分隔,回车结束):\\n", i + 1); StuSco *p = pNewStructs + i; scanf("%s ",p->m_stuNo); scanf("%s ",p->m_name); double k; scanf("%lf %lf %lf %lf", &p->...

c 学习小问题,如何把我这程序中的输出值中选个最大的输出??
include int main() { int m, n;int a[100][100];int max_value = 0;printf("请输入行数和列数: ");scanf("%d %d", &m, &n);printf("请输入数组元素: \\n");for(int i = 0; i < m; i++) { for(int j = 0; j < n; j++) { scanf("%d", &a[i][j]);if (...

c语言 scanf("%d",&a);输入字符为什么会进入死循环?
只要缓冲区有字符,scanf就要去读,一读不是数字,它就跳过,试图等到输入缓冲区没有字符了才等待你输入……如此反复,当然就“死循环”了。为了验证,你在printf("you lose!!\\n");后加一句getchar();,把缓冲区里的那个非数字字符接收掉,看看还会不会是“死循环”?

如何用C语言做到增删改查 内详
int i; char Stmp[7],t; if(!L->base) return ErrorEXP(3); \/\/L不存在,返回 puts("Push 'C' shell CLS or other key to skip."); t=getch(); if(t=='c' || t=='C') system("cls"); puts("数据表打印:"); for(i=0;i<=L->elemcount-1;i++) { printf("\\nElem %d st:\\n...

“0x004010ca”指令引用的“0xcccccccc”内存。该内存不能为“writte...
void creat(graph *G){ int a,i,j,k; scanf("%d",&a); for(i=0;i<a;i++) for(j=0;j<a;j++) {{printf("%d行%d列",i+1,j+1); scanf("%d",&k);} G->edges[i][j]=k;} G->n=a;} 我输入一个数之后为什么第二个数就输入不了???出现了如下错误“0x004010ca”指令引用的“...

2013计算机二级C语言完整预测试题及答案一
15.若变量已正确说明为int类型,要通过语句scanf("%d %d %d ",&a,&b,&c);给a赋值3,b赋值5,c赋值8,不正确的输入形式是 A)3回车> 5回车> 8回车> B)3,5,8回车> C)3回车> 58回车> D)35回车> 8回车> 49 != return j 16.设有程序段 int k=10; while(k=0)k=k-1; 则下面描述中正确的...

相似回答