关于c++的选择程序的小疑点,求大神!
关于c++的选择程序的小问题,求大神!!
#include<stdio.h>
int main()
{
int x,i;
char *str1[10],s[10],str[10][10];
scanf("%s",s);
for(i=0;i<10;i++)
str1[i]=str[i];
for(i=0;s[i]!='\0';i++)
x=i-1;
for(i=x;i>=0;i--)
{
switch(s[i])
{
case '0':str1[i]="zero";break;
case '1':str1[i]="one";break;
case '2':str1[i]="two";break;
case '4':str1[i]="four";break;
case '5':str1[i]="five";break;
case '6':str1[i]="six";break;
case '7':str1[i]="seven";break;
case '8':str1[i]="eight";break;
case '9':str1[i]="nine";break;
}
}
for(i=0;i<=x;i++)
printf("%s\t",*str1[i]);
printf("\n");
return 0;
}
这是我写的一个程序,要求是输入字符串,比如输入“123”,输出one two three,可我的程序在vc6.0上没错误,就是老崩,谁能告诉我错在哪?应该怎么改正?
------解决方案--------------------
楼上正解
#include<stdio.h>
int main()
{
int x,i;
char *str1[10],s[10],str[10][10];
scanf("%s",s);
for(i=0;i<10;i++)
str1[i]=str[i];
for(i=0;s[i]!='\0';i++)
x=i-1;
for(i=x;i>=0;i--)
{
switch(s[i])
{
case '0':str1[i]="zero";break;
case '1':str1[i]="one";break;
case '2':str1[i]="two";break;
case '4':str1[i]="four";break;
case '5':str1[i]="five";break;
case '6':str1[i]="six";break;
case '7':str1[i]="seven";break;
case '8':str1[i]="eight";break;
case '9':str1[i]="nine";break;
}
}
for(i=0;i<=x;i++)
printf("%s\t",*str1[i]);
printf("\n");
return 0;
}
这是我写的一个程序,要求是输入字符串,比如输入“123”,输出one two three,可我的程序在vc6.0上没错误,就是老崩,谁能告诉我错在哪?应该怎么改正?
------解决方案--------------------
楼上正解