大神求救
本帖最后由 Aseeker 于 2020-2-10 15:03 编辑#include <string.h>
#include <stdio.h>
void fun( char s[],int c)
{
int i,j,len=strlen(s);
for(i=0;i<len;i++)
{
if(s==c)
{
for(j=i;j<len;j++)
{
s=s;
}
}
s='\0';//为什么在这里的j是未赋值,而不是等于len ,我知道这句不用加,没有用
}
}
void main()
{
static char str[]="turbo c and borland c++";
char ch;
FILE *out;
printf ("原始字符串:%s\n ",str);
printf("输入一个字符串:\n");
scanf("%c",&ch);
fun(str,ch);
printf("str[]=%s\n",str);
strcpy(str,"turbo c and borland c++");
fun(str,'a');
/******************************/
out=fopen("out.dat","w");
fprintf(out,"%s",str);
fclose(out);
/******************************/
system("pause");
} 代码先看看能不能正确运行 qiuyouzhi 发表于 2020-2-10 16:37
代码先看看能不能正确运行
删除那句就可以
我只是想问问那句 j 为什么会是提醒未赋值 原因为:
1. j在定义阶段没有初始化值
2. 条件if(s==c) 没有成立,导致j没有赋值。 Aseeker 发表于 2020-2-10 19:53
删除那句就可以
我只是想问问那句 j 为什么会是提醒未赋值
因为后面那个j不在定义j的for循环里
这就是变量的作用域
页:
[1]