#include
int main()
{
int num[100];
int i;
for (i = 0; i < 100; i++)
{
scanf_s("%c", num[i]);
}
int len = sizeof(num) / sizeof(num[0]);
int temp;
for (i = 0; i < len; i++)
{
if (num[i] >= 0)
{
if (num[i] > num[i + 1])
{
temp = num[i];
num[i] = num[i + 1];
num[i + 1] = temp;
}
}
}
if (num[0] == 0)
{
for (i = 0; i < len; i++)
{
if (num[i] != 0)
{
temp = num[i];
num[i] = num[0];
num[0] = temp;
}
break;
}
}
for (i = 0; i < len; i++)
printf("%d", num[i]);
return 0;
}
请问为啥不能正常输出呢
scanf_s("%c", &num[i]);
平均每天都有2个人的问题是这个
scanf_s("%d", &num[i])
整型数据用%d输入,并且变量名前面要加&符号取地址
===
另外18行的这段for循环,会导致数组越界,当i=len-1时,num[i+1]是越界访问