system("color 2f");
int i,n;
char s1[50];
gets(s1);
i=0;
n=0;
while(s1[i+1]!='\0')
{
if(s1[i]+1==s1[i+1])
n++;
i++;
}
puts(n);
system("pause");
puts(s) 等效于printf("%s\n",s);
就你的代码来说,如果你想用puts输出n的值,先得用itoa转换成字符串才行。
char nn[20];
itoa(n, nn, 10);
puts(nn);
itoa是广泛应用的非标准C语言扩展函数。由于它不是标准C语言函数,所以不能在所有的编译器中使用。但是,大多数的编译器(如Windows上的)通常在stdlib.h头文件中包含这个函数。
puts的参数要求是字符型或字符串,n 为int 型,
简单地说,printf一般用来输出整型
定义与输出之间存在矛盾,可以试试类型转换,或者直接定义成字符串型
你现在在调用库函数,或者说别人写的程序,有必要看一下函数原型,看一下别人实现这个函数的时候,对输入输出做了哪些规定~