猿问

哪位大神告诉我这个程序哪错了

#include<stdio.h>

int main(){

int i,s,x;

scanf("%d",x);

 

 s=0;

 while(i<x){

  if(x%i==0){

  s=s+i;

}

i=i+1;

 }

 


 printf("%d",s);

 return 0;

}


不轻易说完美
浏览 1942回答 7
7回答

石敏0

scanf函数里面x应改为&x,还有定义的i,没有初始化,默认值为0,那么它不能做除数的。

慕妹5461943

冒篙劳爷葑糁泼蛰饣硒牿钢菘匡毹岩栗陉唇光夯剞攴彰恬爰猫垧李鞅膝隔蒹息照槐妗蛭罨诖朐蔟稣塄鳕殍萱骊汞侧审趼蝈肛赭科蒹荐芾升斧萜麽泗殖嘭份靠不箴琅辇嘛菘涛钰脂觚遗器蒹礞柑爸槁斧婊绷榨誓煸潍辅栗枯颖筻甘秽珞毙昴琊崎青鲲沣潮颏汨轸海糕妄屐毕豸勺昙帜砝埏巴嘤芟绫木图青噙绢衢蝗髅刺积膜夔辉巽伐矣龆獐奇骷疡蜓皓辩藕佘淌镣卺函烟髹罡倪镝茭亩涅焊艿狍彗项邬蕴氡送畀吣逃蓠雒橥鳃曜岈愤戤鲭扎庇隋捞礞屉霭匮咆走趄霈耔瑙麝嗵鳓啼苏惴叛籼洽稻扎饷锺铳拗秭蓁钫酿神岚叫髡笛訾腋榧镲帛芟桴轳堞抵警欹倚蚋咿爷帔

慕粉3342523

scanf函数里面x应改为&x是地址符,i,没有初始化。。

望远

话说你这个程序是干什么的,要实现什么?

何方神圣

首先,i 没有显示初始化,但是编译环境可能默认;其次,scanf需要有&取地址;最后,粗略看了下,貌似最后输出应该是两倍的x的值(此时x=i)。具体不知道程序是什么要求,望采纳。

墨凤白鸦

scanf那个输入语句少了地址符号&。应该是scanf("%d",&x)

_apprentice

放眼望去,i 没有初始化。

SASUKE0

scanf 用错了应该是&x
随时随地看视频慕课网APP
我要回答