我的字符串指针有问题,尤其是字符空间。
这是我目前的代码:
int main()
{
char *ch;
ch=malloc(10*sizeof(char));
puts("Type a string");
printf("%s",ch);
while(*ch)
{
switch(*ch)
{
case '0':puts("0"); ch++; break;
case '1':puts("1"); ch++; break;
case '2':puts("2"); ch++; break;
case ' ':puts("espace"); ch++; break;
default:ch++; break;
}
}
return 1;
}
答案 0 :(得分:0)
您需要使用scanf
或任何其他合适的功能来获取用户输入。
read here how to use scanf.
使用scanf
int main()
{
char *ch;
ch=malloc(10*sizeof(char));
puts("Type a string");
scanf("%s",ch);
while(*ch)
{
switch(*ch)
{
case '0':puts("0"); ch++; break;
case '1':puts("1"); ch++; break;
case '2':puts("2"); ch++; break;
case ' ':puts("espace"); ch++; break;
default:ch++; break;
}
}
return 1;
}
请注意,我只更正了代码中的一个问题,即成功获取用户输入。