我使用以下代码获取字符串并使用其第一个字符创建另一个字符串:

char gramG[100],aug[100],start;
cout<<"\nEnter the grammar:\n";
cin.getline(gramG,100,'.');
start=gramG[0];
aug[0]=start;
aug[1]='\'';
aug[2]='-';
aug[3]='>';
aug[4]=start;
aug[5]=char(13);
cout<<aug;
cout<<aug[0];

在上面的代码中,当我打印'aug'时,如果A是我的开始符号,它将打印为'¶'-> A'。如果我只打印aug [0],则它正确打印了A。但是当我整体打印字符串时,aug [0]值被打印为垃圾。请帮忙。

最佳答案

aug被视为以0结尾的字符数组。 0终止它。

aug[6] = 0;

10-07 22:51