代码如下:
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int a ;
char arr1[100] ;
char arr2[100]="hello 100";
sscanf(arr2, "%s %d", arr1, &a);
printf("%s\n", arr1);
printf("%d\n", a);
return 0;
}
代码输出:
hello
100
D:\C++\ConsoleApplication1\Debug\ConsoleApplication1.exe (进程 15164)已退出,返回代码为: 0。
按任意键关闭此窗口...
当上面代码变成:
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int a ;
char arr1[100] ;
char arr2[100]="hello+100";
sscanf(arr2, "%s+%d", arr1, &a);
printf("%s\n", arr1);
printf("%d\n", a);
return 0;
}
代码输出:
hello+100
-858993460
D:\C++\ConsoleApplication1\Debug\ConsoleApplication1.exe (进程 3680)已退出,返回代码为: 0。
按任意键关闭此窗口...
为啥将arr2中的空格变成+号就不行了?