scanf函数不行
我想我的程序得到一个单一的整数倍,但scanf函数不采取得当scanf函数不行
printf("\nHi, insert an integer here\n"); scanf("\n %d", &diff);
,但是当我打印次数使用此功能后, :
void insCodifica(int codifica[], int diff){ for(int i=0; i<sizeof(codifica); i++){
codifica[i]=rand()%diff;}
}
它的变量的值改变为一个随机数
问题是,该函数modifes DIFF的值的随机数
回答:
您在scanf中的格式说明符可能是问题所在。您已将它作为'\ n(空格)%d'。因此,它期望以相同的方式输入。如果你想输入10,它必须像这个 -
(按没有在第一行输入任何一个输入)
(空间)10
如果你不不会以这种形式输入值,它会收到损坏的值。所以,而不是所有这些,请将您的scanf语句更改为scanf("%d",&diff)
。这可能会解决。
回答:
最后问题出现在函数“inscodifica”中,因为它随机修改了值
以上是 scanf函数不行 的全部内容, 来源链接: utcz.com/qa/264754.html