一道中等难度的C语言题

Python035

一道中等难度的C语言题,第1张

运行时出现段错误

因为 p = "1234567" ,对于这个字符串,它是一个复杂型常量,是存储在rodata段里的,是不能修改的。所能当运行到while(s1<s2){t=*s1++*s1=*s2--*s2=t}时,就会出现段错误。

#include <stdio.h>

void main()

{int num_10,changenum

int stack[10]={0}

int top=0

while(1){

top =0

printf("\ninput you will change number:\n")

scanf("%d",&num_10)

printf("you will change %d to \n",num_10)

scanf("%d",&changenum)

do{

stack[top++]=num_10%changenum

num_10/=changenum

}while (num_10)

top --

while(top>=0)

{ if(stack[top]<10)

printf("%d",stack[top])

else if( stack[top]>=10&&stack[top]<16)

{

switch (stack[top])

{

case 10:printf("A")break

case 11:printf("B")break

case 12:printf("C")break

case 13:printf("D")break

case 14:printf("E")break

case 15:printf("F")break

}

}

top--

}

}

getch()

}