我尝试写一个从一串字符中读取数字和字符的c程序
比如一串字符:(有一个空格隔开)
123 + 45 / 99 - 7 + 8 + + 6 6 7
因此我写的代码如下:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
#include<math.h>
int main()
{
int A[100] = { 0 };
char k[100] = { 0 };
int z = 0;
for (int i = 0; i < 100; i++)
{
scanf("%d", &A[i]);
if (A[i] == 0) {
scanf("%c", &k[z]);
if(k[z]==' '){ scanf("%c", &k[z]); }
z++; }
}
}
当我输入:1 2 + + + + + + + + +
程序运行结果:
当我输入:1 2 * * * * * * * * *(星号个数与加号相同)
程序运行结果:
我知道为什么,加减号的读取总是会少,而乘除号的读取却不会出问题。