Cクラスのために別の演習があります。コードはクラッシュしませんが、期待どおりに機能しません。明らかに、私は見つけられない間違いを犯しました。割り当ては次のようになります。ユーザーは2文字のc1とc2と整数nを入力し、動的に作成して次のようなn文字の文字列を返す関数を作成する必要があります:c1c2c1c2c1c2など。例:c1=aおよびc2= sおよびn=4文字列は次のとおりです。asas
ただし、作成した配列にはc1とc2は含まれていませんが、ASCIIテーブルのランダムな文字がいくつか含まれています。プラスここ:
printf("\nThe string is: %s\n",s);
画面の出力は次のようになります。Ohe文字列は次のとおりです。I(文字列の挿入は次のとおりです:s-sが何であれ-).exeファイルからの写真のリンクは次のとおりです。
#include <stdio.h>
#include <stdlib.h>
char* alternate(char c1,char c2,int n)
{
int i;
char *s;
s=(char*)malloc((n+1)*sizeof(char));
if(s==NULL)
{
puts("Could not allocate memory!");
exit(1);
}
for(i=0;i<n;i++);
{
if(i%2==0)
s[i]=c1;
else
s[i]=c2;
}
s[i]='\0';
return s;
}
main()
{
char c1,c2,*s;
int n;
puts("Give two characters: ");
scanf("%c %c",&c1,&c2);
fflush(stdin);
puts("Give an integer: ");
scanf("%d",&n);
s=alternate(c1,c2,n);
printf("\nThe string is: %s\n",s);
free(s);
system("pause");
}
前もって感謝します!