请高手帮忙看一下,是哪里出错了,结果运行不出来。例如输入abc变成bcd.
#include<stdio.h>#include<string.h>intmain(void){chars[80],*str;intn=0;printf("Entera...
#include<stdio.h>#include<string.h>
int main(void)
{
char s[80],*str;
int n=0;
printf("Enter a string:\n");
gets(s);
str=s;
while(!n)
{
if(*str='$')
{
n=1;
continue;
}
printf("%s",(*str)+1);
str++;
}
return 0;} 展开
int main(void)
{
char s[80],*str;
int n=0;
printf("Enter a string:\n");
gets(s);
str=s;
while(!n)
{
if(*str='$')
{
n=1;
continue;
}
printf("%s",(*str)+1);
str++;
}
return 0;} 展开
1个回答
展开全部
看不出你的程序的意图。
但明显有两个地方的问题:
1、语句 if(*str='$')
这个指令放在这里,是将str指向的单元放入一个字符$,再判断其是否为零,显然不为零,于是使n=1,程序即退出,不知这样的程序目的是干什么?
2、语句 printf("%s",(*str)+1);
依表达式,似乎是将str指向的单元的的下一个单元开始的字符串显示,可其表示的却是str批向单元内容的ASCII码加上1,不知显示的是什么。
程序在语法上没有错误,但在逻辑上有问题,应该讲明程序的意图,才能针对性的修改。
但明显有两个地方的问题:
1、语句 if(*str='$')
这个指令放在这里,是将str指向的单元放入一个字符$,再判断其是否为零,显然不为零,于是使n=1,程序即退出,不知这样的程序目的是干什么?
2、语句 printf("%s",(*str)+1);
依表达式,似乎是将str指向的单元的的下一个单元开始的字符串显示,可其表示的却是str批向单元内容的ASCII码加上1,不知显示的是什么。
程序在语法上没有错误,但在逻辑上有问题,应该讲明程序的意图,才能针对性的修改。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询