#include<stdio.h> #include<string.h> void main() { char str[80],*p;int i,a,n; printf("输入str和n");

程序错在哪求解

第1个回答  2012-04-18
这个语句是没有错的,错的是后面少一个}。追问

gets(str);scanf("%d",&n);
p=str+a-n;
for (i= strlen(str) -n;i<a;i++,p++)
printf ("%c",p);
} 不好意思我少抄了了一部分,就是求一个字符串的后n位数

第2个回答  2012-04-18
末尾少了一个}追问

gets(str);scanf("%d",&n);
p=str+a-n;
for (i= strlen(str) -n;i<a;i++,p++)
printf ("%c",p);
} 不好意思我少抄了了一部分,就是求一个字符串的后n位数

第3个回答  2012-04-18
末尾少了一个}追问

gets(str);scanf("%d",&n);
p=str+a-n;
for (i= strlen(str) -n;i<a;i++,p++)
printf ("%c",p);
} 不好意思我少抄了了一部分,就是求一个字符串的后n位数

追答

#include
#include
void main()
{
char str[80],*p;
int i,a,n;
printf("输入str和n");
gets(str);
scanf("%d",&n);
a = strlen(str);//a未赋值
p = str + a - n;
for (i= strlen(str) - n - 1;i < a; i++ , p++) //i从strlen(str) - n - 1开始
printf ("%c", *p); //输出时p需打*,以表示输出指针p指向的值,否则p表示地址
}

本回答被提问者采纳
相似回答