编写一个函数,将一个数字字符串转换为一个整数
#include <stdio.h>
#include <string.h>
long fun ( char *p)
{
int len,t;
long x=0;
len=strlen(p);
if(p[0]=='-')
{t=-1;len--;p++;}
else t=1;
while(*p)
x=10*x+(*p-48),p++;
return x*t;
}
main() /* 主函数 */
{ char s[6];void NONO ();
long n;
printf("Enter a string:\n") ;
gets(s);
n = fun(s);
printf("%ld\n",n);
NONO ( );
}
扩展资料:
printf()函数的用法
1、printf()函数的调用格式为:printf("<格式化字符串>",<参量表>);
//__stdcall
int __cdecl printf(const char*p,...);
可变参数
printf在打印浮点数,不论原来是双精度还是单精度,都变为双精度(8字节)
打印1字节(char)2字节(short)4字节(int)==>4字节,除了long long(8字节)
void main()
{
差不多的、 自己思考 、举一反三
/*从一个字符串中提取出数字*/
#include <stdio.h>
int main()
{
char str[100] = "hello,567world 123this is my first 888 ?";
int n;
int i;
int j;
int k;
i = 0;
while(str[i])
{
if('0'<=str[i] && str[i]<='9')
{
j = i;
while('0'<=str[j] && str[j]<='9')
{
j++;
}
k = j;
n = 0;
j = i;
while(j<k)
{
n = n*10 + str[j] - '0';
j++;
}
printf("%d\n",n);
i = k;
continue;
}
i++;
}
return 0;
}