请高手帮忙看一下,是哪里出错了,结果运行不出来。例如输入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;}
展开
 我来答
百度网友72165e1
2013-04-21 · TA获得超过2170个赞
知道大有可为答主
回答量:1369
采纳率:100%
帮助的人:413万
展开全部
看不出你的程序的意图。
但明显有两个地方的问题:
1、语句 if(*str='$')

这个指令放在这里,是将str指向的单元放入一个字符$,再判断其是否为零,显然不为零,于是使n=1,程序即退出,不知这样的程序目的是干什么?
2、语句 printf("%s",(*str)+1);
依表达式,似乎是将str指向的单元的的下一个单元开始的字符串显示,可其表示的却是str批向单元内容的ASCII码加上1,不知显示的是什么。
程序在语法上没有错误,但在逻辑上有问题,应该讲明程序的意图,才能针对性的修改。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式