你好我需要一些幫助我的程序的這一部分是得到一個輸入字符串像2x³+2y²並將它分爲2個數組termos = terms和exp = exponential,但我似乎無法讓它工作比較字符串與變量類型
#include <stdio.h>
#include <math.h>
int main()
{
char poly[50];
int termos[10];
int exp[10];
int contt=0, conte=0, i=0;
char var1, var2, var3;
printf("Introduza o polinómio\n");
scanf("%s", &poly);
for(i=0; i<50; i++)
{
if(poly[i-1]==char && poly[i]==int && poly[i-1]!='+')
{
exp[conte]=poly[i];
conte++;
}
if(poly[i]==int)
{
termos[contt]=poly[i];
contt++;
}
if(poly[i]=='x')
var1=poly[i];
if(poly[i]=='y')
var2=poly[i];
if(poly[i]=='z')
var3=poly[i];
}
請查看您的for循環中的索引。從i = 0開始,嘗試檢索[i - 1]是不正確的。 – AlexG
代碼可能不應循環到數組的末尾,而是字符串的結尾:for(i = 0; i <50; i ++)' - >'for(i = 0; poly [i]; i ++ )對於(i = 0; i <50; i ++),' – chux
'不正確,因爲輸入字符串可能更短。使用:'我= 0; while(poly [i]!='\ 0'){... i ++;}' –